[英]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.