纯代码实现让页面支持添加标签和分类

原创 捌栢科  2022-10-24 17:50  阅读 12 次
阿里云免费代金券,购买阿里云产品前先领券更优惠!

WordPress的页面(page)默认是不支持添加标签和分类的,如何让页面支持添加标签和分类,以及在标签存档和分类存档中包含页面。

可以将下面的代码直接添加到当前主题的 functions.php 文件即可:

代码如下:

 

//为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();

 

同样使用插件也可以实现该功能,只需下载安装 Post Tags and Categories for Pages 插件。本文中代码也源自该插件。

本文地址:https://8ik.cn/archives/499
关注我们:请关注一下我们的微信公众号:扫描二维码捌佰科的公众号,公众号:Hey_MrBoss
版权声明:本文为原创文章,版权归 捌栢科 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了
【腾讯云】买云服务器,参与礼品兑换、抽奖,最高送价值8000元IPad,还有Bose耳机、千元京东卡等您来!

发表评论


表情