为WordPress页面添加标签功能和分类功能

Author: 陌小雨Date: 2017-08-11View: 18

WordPress文章和分页给人直观的区别就是文章有分类目录、而页面没有,这主要适用于个人站点,但是对于企业站点来说,一般都会有个公司介绍,公司介绍后面可能有一大堆的公司概况、组织机构、发展历程、企业资质、社会责任等等,而这些页面有一个特点就是内容一般是固定不变的,这个时候我们选择利用文章来发布这些陌小雨就觉得不太合适了,所以就有了本篇文章的由来。

将下面代码添加到主题functions.php中,就可以实现为WordPress页面添加标签和分类功能

//为WordPress页面添加标签和分类
 
class PTCFP{
 
  function __construct(){
 
    add_action( 'init', array( $this, 'taxonomies_for_pages' ) );
 
    /**
     * 确保这些查询修改不会作用于管理后台,防止文章和页面混杂 
     */
    if ( ! is_admin() ) {
      add_action( 'pre_get_posts', array( $this, 'category_archives' ) );
      add_action( 'pre_get_posts', array( $this, 'tags_archives' ) );
    } // ! is_admin
 
  } // __construct
 
  /**
   * 为“页面”添加“标签”和“分类”
   *
   * @uses register_taxonomy_for_object_type
   */
  function taxonomies_for_pages() {
      register_taxonomy_for_object_type( 'post_tag', 'page' );
      register_taxonomy_for_object_type( 'category', 'page' );
  } // taxonomies_for_pages
 
  /**
   * 在标签存档中包含“页面”
   */
  function tags_archives( $wp_query ) {
 
    if ( $wp_query->get( 'tag' ) )
      $wp_query->set( 'post_type', 'any' );
 
  } // tags_archives
 
  /**
   * 在分类存档中包含“页面”
   */
  function category_archives( $wp_query ) {
 
    if ( $wp_query->get( 'category_name' ) || $wp_query->get( 'cat' ) )
      $wp_query->set( 'post_type', 'any' );
 
  } // category_archives
 
} // PTCFP
 
$ptcfp = new PTCFP();

刷新下WordPress网站后台就可以看到效果啦: