主页上循环中的自定义帖子类型(页面模板)

时间:2016-02-25 作者:Laurent

我试图通过循环和CPT实现一些东西。我已经建立了一个模板页面,它将是我的网站的主页,显示文章和视频(CPT)。如何将CPT添加到循环中,使其以某种提要的顺序显示两者?

我已将下面的代码片段添加到functions.php :

// Custom loop feed
add_action( \'pre_get_posts\', \'add_my_post_types_to_query\' );

function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( \'post_type\', array( \'post\', \'videos\' ) );
    return $query;
}
然后将循环代码放入homepage.php.

问题是,它显示在我的博客页面上,但在我的主页上,它为主页发了一篇帖子。

enter image description here

我做错什么了吗?

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

有几种方法可以完成你想要做的事情。我想我要做的第一件也是最简单的事就是把你的电话换成is_home() 具有is_ftont_page(). 阅读here 对于两者之间的差异。

如果这不能解决您的问题,您可以尝试致电WP_query 从模板代码中。它可能看起来像这样:

$query = new WP_query(
    array(
        \'post_type\' => array(\'post\', \'videos\'),
        \'post_status\' => \'publish\',
        \'order\' => \'ASC\'
    )
);
foreach ($query->posts as $post) {
    // Your display code here.
}
有很多参数可以修改,以使查询按您想要的方式工作。这些都在文档中。如果您走这条路线,您可能希望删除“pre\\u get\\u posts”挂钩。

希望这有帮助!

相关推荐

Vimeo froogaloop

我是个新手,但我想用this idea 在Wordpress站点上嵌入的Vimeo剪辑中禁用正向搜索我的职能。我添加了phpfunction frogaloop_scripts() { wp_register_script(\'snippet\', \'https://siteurl/wp-content/themes/themename/js/snippet.js\'); wp_register_script(\'frogaloop\',\'https://f.vimeo