编辑-我已经尝试过了wp_reset_query()
它不起作用,第一个循环按预期执行,但第二个循环只跳到else
我得到了not working
我正在使用2自定义WP_Query
在一个页面中循环,第一个是从某个类别获取帖子,第二个是按日期获取帖子,
这是密码
<?php
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'any\',
\'category\' => 3,
\'posts_per_page\' => 4);
$query_var= new WP_Query($args);
if ($query_var->have_posts()):
while ($query_var->have_posts()):
$query_var->the_post(); ?>
<div class="patta p-4 col-lg-3 col-md-6">
<!-- FIX THIS -->
<img class="card-img-top"
src="<?php the_post_thumbnail(); ?>"
alt="<?php the_post_thumbnail_caption() ?>"/>
<h4><b><?php the_title(); ?></b><br></h4>
<p>
<a href="#">Link</a>
</p>
</div>
<?php
endwhile;
wp_reset_postdata();
endif;
?>
第二个回路
<?php
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'any\',
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'posts_per_page\' => 4);
$query_var= new WP_Query($args);
if ($query_var->have_posts()):
while ($query_var->have_posts()):
$query_var->the_post(); ?>
<div class="patta p-4 col-lg-3 col-md-6">
<!-- FIX THIS -->
<img class="card-img-top"
src="<?php if (the_post_thumbnail()): the_post_thumbnail(); else:echo \'https://lamasec.pythonanywhere.com/static/img/vulnhub.png\';endif; ?>"
alt="<?php the_post_thumbnail_caption() ?>"/>
<h4><b><?php the_title(); ?></b><br></h4>
<p>
<a href="#">Link</a>
</p>
</div>
<?php
endwhile;
wp_reset_postdata();
else: echo \'not working\';
endif;
?>
我正在使用
wp_reset_postdata();
但它似乎不起作用。
最合适的回答,由SO网友:Sahil Shukla 整理而成
阅读一页中多个循环的文档后here, 我只有一个WP_Query
对于两个循环。我存储了所需类别中所有帖子的ID,并在第二个循环中检查它们continue
在他们身上。这是最后的代码-
第一个回路
<?php
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'any\',
\'category\' => 3,
\'posts_per_page\' => 4);
$query_var = new WP_Query($args);
if ($query_var->have_posts()):
while ($query_var->have_posts()):
$query_var->the_post();
$do_not_duplicate[] = $post->ID; ?>
<div class="patta p-4 col-lg-3 col-md-6">
<!-- FIX THIS -->
<img class="card-img-top"
src="<?php the_post_thumbnail(); ?>"
alt="<?php the_post_thumbnail_caption() ?>"/>
<h4><b><?php the_title(); ?></b><br></h4>
<p>
<a href="#">Link</a>
</p>
</div>
<?php endwhile; ?>
第二个回路
if (have_posts()):
while (have_posts()):
the_post();
if (in_array($post->ID, $do_not_duplicate)) continue;
?>
<div class="patta p-4 col-lg-3 col-md-6">
<!-- FIX THIS -->
<img class="card-img-top"
src="<?php the_post_thumbnail(); ?>"
alt="<?php the_post_thumbnail_caption() ?>"/>
<h4><b><?php the_title(); ?></b><br></h4>
<p>
<a href="#">Link</a>
</p>
</div>
<?php
endwhile;
endif;
endif;
?>