首页 文章

自定义过帐类型分类 - 未在类别或标签页面中显示的邮件

提问于
浏览
0

我有一个名为“会员资源”的自定义帖子类型,此CPT下的帖子有一些分类,如类别和标签 .

Tags =“Diversity”类别=“指导”

当我转到以下网址时:

www.domain.com/tags/diversity

www.domain.com/tags/guidance

没有帖子出现 .

虽然我在CPT功能上设置了public => true .

如果您转到“成员资源”归档页面,则会显示帖子,因此它们正在显示,但不会在您按分类法过滤它们时显示 .

更新 -

将以下代码添加到我的functions.php文件中允许成员资源CPT分别显示在“类别”和“标签”页面中,但现在位于“页面”选项卡下的wordpress后端以及所有其他内容选项卡(如帖子等)似乎具有覆盖了我的网页和帖子,只显示了会员资源帖子 .

add_action( 'pre_get_posts', 'add_my_custom_post_type' );

 function add_my_custom_post_type( $query ) {
if ($query->is_main_query()) 
    $query->set( 'post_type', array( 'member-resources' ) );
return $query;
}

1 回答

  • 1

    你的代码看起来正确 . 但是你在很多wordpress的查询中都包含了CPT成员资源 . 我认为is_main_query意味着“循环” .

    因此,您需要将此限制为仅在标记归档页面上运行时 .

    以下代码来自wordpress网站

    add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );
    function foo_modify_query_exclude_category( $query ) {
        if ( ! is_admin() && is_main_query() && ! $query->get( 'cat' ) )
            $query->set( 'cat', '-5' );
    }
    

    你需要做类似的事情,但要确定你是否在“标签”页面 .

相关问题