我想在一个特定类别中插入12篇帖子,但我只看到一些帖子。
就像第一次的前4个帖子和其他时间的其他帖子一样。我能做什么?
<支持>Editor note:
据我所知,该问题在第一次查询中显示了4篇帖子,在第二次查询中显示了其余帖子(共12篇中的8篇)
这是第一次查询的代码:
<?php $the_query = new WP_Query(\'cat=6&order=ASC&showposts=4\'); ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="padding-10">
<?php the_post_thumbnail(); ?>
<div class="latestpost-dis">
<div class="date"> <?php the_date(); ?> <span>BY</span> <?php the_author(); ?></div>
<h4><?php the_title(); ?></h4>
<p><?php the_excerpt(); ?></p>
<p class="margin-top-20"><a href="#" class="btn btn-info">Read More</a></p>
</div>
这是第二次查询:
<?php $the_query = new WP_Query(\'cat=6&order=ASC&showposts=-1,-2,-3,-4\');?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="padding-10">
<?php the_post_thumbnail(); ?>
<div class="latestpost-dis">
<div class="date"> <?php the_date(); ?> <span>BY</span> <?php the_author(); ?></div>
<h4><?php the_title(); ?></h4>
<p><?php the_excerpt(); ?></p>
<p class="margin-top-20"><a href="#" class="btn btn-info">Read More</a></p>
</div>
SO网友:Chip Bennett
您没有显示整个代码,因此并非所有这些建议都是相关的:
为包含不同查询的变量使用不同的、理想的描述性名称。使用相同的变量,$my_query
, 可能导致意外后果确保正确关闭第一个回路endwhile; endif;
, 在打开第二个循环之前一定要打电话wp_reset_postdata();
在循环之间如果您的目的仅仅是通过第一个循环中返回的帖子来抵消第二个循环,请使用the offset
parameter, 而不是明确排除post ID正如埃里克·霍姆斯所说,showposts
是要使用的错误(且已弃用)参数,应替换为posts_per_page
.示例:
$query4posts = new WP_Query( array(
\'cat\' => 6,
\'order\' => \'ASC\',
\'posts_per_page\' => 4
) );
$query8posts = new WP_Query( array(
\'cat\' => 6,
\'order\' => \'ASC\',
\'posts_per_page\' => 8,
\'offset\' => 4
) );
// Output first loop of 4 posts
if ( $query4posts->have_posts() ) : while ( $query4posts->have_posts() ) : $query4posts->the_post();
// Loop output
endwhile; endif;
wp_reset_postdata();
// Output second loop of 8 posts, offset
if ( $query8posts->have_posts() ) : while ( $query8posts->have_posts() ) : $query8posts->the_post();
// Loop output
endwhile; endif;