我真的困在寻找什么东西来开始这件事了。
我希望能够在一个循环中输出两个帖子,所以我可以一次将两个帖子包装起来.
下面我所做的只是一个纯粹的例子--我试图解释我需要它做什么。如果有人知道一个方法或哪里我可以找到一个教程,那将是可怕的!谢谢。
循环
感谢@Rob帮我走了这么远,但它似乎输出了奇怪的重复.
<?php $latest = new WP_Query(array(
'category_name' => 'news',
'order' => 'DESC',
'orderby' => 'date',
'posts_per_page' => 6
)); ?>
<?php $i = 0; if ( $latest->have_posts()) : while ($latest->have_posts()) : $latest->the_post(); ?>
<?php $odd = ++$i % 2; ?>
<?php if($odd) : ?>
<div class="dual-post-wrapper">
<?php endif; ?>
<div class="post-<?php the_ID(); ?>">
<?php the_content(); ?>
</div>
<?php if(!$odd) : ?>
</div>
<?php endif; ?>
<?php endwhile; unset($latest); endif; ?>输出的
这就是输出的HTML是什么样子-由于某种原因,它是复制后1,2,3和4?奇怪!
<div class="dual-post-wrapper">
<div class="post-1">
Post 1 Content
</div>
<div class="post-2">
Post 2 Content
</div>
</div>
<div class="dual-post-wrapper">
<div class="post-3">
Post 3 Content
</div>
<div class="post-4">
Post 4 Content
</div>
</div>
<div class="dual-post-wrapper">
<div class="post-5">
Post 5 Content
</div>
<div class="post-6">
Post 6 Content
</div>
</div>
<div class="dual-post-wrapper"> <!-- these are duplicates?? -->
<div class="post-1">
Post 1 Content
</div>
<div class="post-2">
Post 2 Content
</div>
</div>
<div class="dual-post-wrapper"> <!-- these are duplicates?? -->
<div class="post-3">
Post 3 Content
</div>
<div class="post-4">
Post 4 Content
</div>
</div>再次感谢!!
发布于 2012-04-14 02:00:31
你可以用一个简单的计数器和模数来实现这一点。
<?php $i = 0; if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $odd = ++$i % 2; ?>
<?php if($odd) : ?>
<div class="dual-post-wrapper">
<?php endif; ?>
<div class="post-<?php the_ID(); ?>">
<?php the_content(); ?>
</div>
<?php if(!$odd) : ?>
</div>
<?php endif; ?>
<?php endwhile; endif; ?>如果你总是有偶数的帖子的话,这应该是可行的。您可能应该先数一数手边的帖子数量,然后关闭div if(!$odd || $last)。
发布于 2012-04-14 15:02:27
Wordpress内置了计数循环和回绕post的功能。
要计数您的循环,请使用:
//Create a custom query var:
$displayposts = new WP_Query();
//start loop with it
<?php if ($displayposts->have_posts()) :while ($displayposts->have_posts()) : $displayposts->the_post();
//count it
$count_id = $displayposts->current_post + 1;
//loop stuff <?php endwhile; else:?>
//rewind the post
rewind_posts();http://codex.wordpress.org/Function_Reference/rewind_posts
https://stackoverflow.com/questions/10149924
复制相似问题