You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WordPress CPT内容正常显示在分类、标签归档页

问题根因

WordPress 分类(category)、标签(post_tag)的原生归档主查询默认仅拉取默认文章类型post的内容。你注册app_video时配置的taxonomies参数,仅实现了CPT编辑页可选择分类、打标签的绑定能力,不会自动修改前台归档页的查询规则,这是CPT内容无法在归档页显示的核心原因。

解决步骤

1. 通过官方钩子修改归档主查询

将以下代码添加到当前主题的functions.php文件,或者自定义功能插件中即可,该方案直接修改主查询逻辑,不会破坏分页规则,性能最优:

add_action( 'pre_get_posts', function( $query ) {
    // 跳过后台查询,仅对前台主查询生效
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }
    // 匹配分类归档、标签归档场景
    if ( $query->is_category() || $query->is_tag() ) {
        // 配置需要在归档页展示的文章类型
        $query->set( 'post_type', array( 'post', 'app_video' ) );
    }
} );

如果后续有其他共享分类法的自定义文章类型需要加入归档,直接往post_type对应的数组中追加对应CPT的slug即可。

2. 刷新重写规则

代码添加完成后,登录WordPress后台进入「设置」→「固定链接」页面,不需要修改任何现有配置,直接点击页面底部的「保存更改」按钮,刷新系统的URL重写规则,避免出现归档页404、内容加载异常的问题。

避坑提示

不要通过在归档模板中新建自定义WP_Query替换主循环的方式实现需求,该方法会破坏原生分页逻辑,还会产生额外的数据库查询开销,性能远低于修改主查询的方案。

内容的提问来源于stack exchange,提问作者scri66le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 14:39:07