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

时间:2013-01-23 13:15:16

标签: php wordpress loops

我制作了一个名为“会员资源”的自定义帖子类型,此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;
} 

1 个答案:

答案 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' );
}

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