如何让自定义帖子类型的帖子显示在标准的帖子档案中(如在主页中)?

时间:2013-03-31 作者:StCee

例如,如果我创建了一个名为“tutorial”的自定义帖子类型,如何让它也显示在“最近的帖子”等位置?

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

将以下函数与pre_get_posts 筛选器将向常规存档页添加一个或多个CPT:

function wpse94041_cpts_in_archives( $query ) {
    if( is_category() || is_tag() ) { // more conditional tags possible, if applicable
        $query->set( \'post_type\', array(
            \'post\',
            \'tutorial\' // add as many CPTs to this array as you like
        ));
    }
    return $query;
}
add_filter( \'pre_get_posts\', \'wpse94041_cpts_in_archives\' );
主题的功能。php文件将非常适合上述内容。

结束

相关推荐

get_posts() and filters

我为添加了自定义筛选函数the_posts 在插件中筛选。add_filter(\'the_posts\', \'posts_filter\'); function posts_filter() { … } 这在主循环中运行得很好,这意味着帖子会按照我在posts_filter 作用但我正在打电话get_posts() 在ajax请求中获取一些帖子。在那里,过滤器不起作用。query_posts() 或自定义wp_query 不要工作太多。所以问题是:我如何才能在主循环旁获得按the_p