我制作了一个名为“会员资源”的自定义帖子类型,此CPT下的帖子有一些分类,例如类别和标签。
Tags =“Diversity”Categories =“Guidance”
当我转到以下网址时:
www.domain.com/tags/diversity
www.domain.com/tags/guidance
没有帖子出现。
虽然我设置了public =>在CPT功能上是真的。
如果你去会员资源档案页面,会显示帖子,所以他们正在显示,但是当你按分类法过滤它们时不会显示。
更新 -
将以下代码添加到我的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;
}
答案 0 :(得分: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' );
}
您需要做类似的事情,但要确定您是否在“标签”页面。