繁体   English   中英

自定义帖子类型分类法-帖子未显示在“类别”或“标签”页面中

[英]Custom Post Type Taxonomies -Posts not showing in Category or Tag pages

我创建了一个自定义帖子类型,称为“会员资源”,该CPT下的帖子具有一些分类法,例如类别和标签。

标签=“多样性”分类=“指导”

当我转到以下网址时:

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;
} 

您的代码看起来正确。 但是您在太多的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' );
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM