我使用下面的代码从某个分类术语调用post。我的意图是将其混合到正常循环中。
我并不是要创建两个不同的循环,而是一个循环,其中显示分类术语中的帖子以及循环中的原始帖子。
问题是下面的代码使原来的循环消失了,我应该怎么做。我不擅长写代码,我正在学习。谁能帮帮我吗。
<?php // Create empty array to store post ids in
$excludes = array();
$args=array(
\'post_type\' => array (\'gallery\',\'videos\'),
\'taxonomy\'=>\'series\',
\'term\' => \'pretty-little-liars\',
\'post_status\' => \'publish\',
);
query_posts( $args );
if (have_posts()) : while(have_posts()) : the_post(); ?>
SO网友:s_ha_dum
query_posts
将重击主查询。您已覆盖原始帖子集。Don\'t use query_posts
而是创建一个新的WP_Query
对象,以及另一个循环。
听起来你想做的事情太复杂了。“混合”两个查询可能不值得这样做。看起来您将有两个查询,所以只需运行两个循环。
您的第一个循环看起来已经有了。
if (have_posts()) : while(have_posts()) : the_post();
//
endwhile; endif;
第二个,使用新的
WP_Query
对象,看起来像:
$my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post();
//
endwhile; endif;
如果您确实必须“混合”这两个循环,那么:
$combloop = $posts;
$my_query = new WP_Query( $args );
$combloop = $combloop + $my_query->posts;
foreach ($combloop as $post) {
setup_postdata($post);
//
}
循环真的不应该这样合并。我相信它应该可以工作,但您可能会遇到问题,尤其是分页之类的问题。