如何防止写入重复循环?

时间:2015-02-13 作者:Mac Luc

因此,我有一些页面希望仅显示最后5篇文章的自定义文章类型“事件”(二次查询:WP\\u query object),还有一些页面希望显示所有文章(例如存档模板as is\\u main\\u query)。我讨厌重复的代码,但我似乎想不出一种不写循环代码的方法,即使它应该在不同的地方显示相同的结构
例如;在我的循环中。php文件I使用have\\u posts()遍历所有主查询帖子。但在使用WP\\u Query的二次查询中,我不能调用该循环文件,因为它不是主查询。然后,我必须使用$secondary\\u query->have\\u posts()查找特定查询,因此我最终编写了循环代码,在其中调用WP\\u query

总结一下:-)有没有一种方法我不知道如何在二次查询中使用我的循环文件<这就是我想做的:

$event_query = new WP_query($args);
get_template_part(\'loop\', \'home\'); //calling loop.php
wp_reset_postdata();

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

将控件结构移到模板文件之外,只需将可重复的标记和模板标记放在里面即可。

$event_query = new WP_query($args);
if( $event_query->have_posts() ){
    while( $event_query->have_posts() ){
        $event_query->the_post();
        get_template_part(\'loop\', \'home\');
    }
}
wp_reset_postdata();

结束

相关推荐

CPT while loop not working

我无法从while循环中获得任何东西:<ul> <?php $query_args = array( \'post_type\' => \'Smart panels\', \'posts_per_page\' => 5, \'orderby\' => \'meta_value_num\', \'meta_key\' => \'post_v