如何重写if (have_posts()) : ... while (have_posts()) : the_post();
使用以下样式将Wordpress循环设置为新的\\u查询样式循环<?php $the_query = new WP_Query();
? (如所示http://codex.wordpress.org/Class_Reference/WP_Query )
下面的当前循环交替显示帖子类,以显示一个由两个帖子宽的帖子组成的网格(请参见下图)。但我需要使用一个新的查询来重写它,以便:1)添加显示后计数,2)向其添加显示后计数偏移量。原因是我需要在页面模板中使用它,并基于新查询使用另一个循环。
此循环在“不均匀帖子”和“帖子”之间交替显示类,以显示帖子(见下图)我需要在新的WP\\U查询循环中保留该函数。
<?php
if (have_posts()) :
$odd = false;
while (have_posts()) : the_post();
$odd = !$odd;
?>
<div class="<?php if ($odd) echo \'uneven \'; ?>post">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php endwhile; else: endif; ?>
上面的循环显示如下帖子:
这是一个标准的新WP\\U查询循环:
<?php $my_query = new WP_Query(\'offset=5&showposts=10\'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<?php the_title(); ?></a>
最合适的回答,由SO网友:Chip Bennett 整理而成
你已经成功了95%。只需添加if ( $my_query->have_posts() )
并将您的$odd
变量:
<?php
$my_query = new WP_Query(\'offset=5&showposts=10\');
if ( $my_query->have_posts() ) :
$odd = false;
while ($my_query->have_posts()) : $my_query->the_post();
$odd = !$odd;
?>
<div class="<?php if ($odd) echo \'uneven \'; ?>post">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php
endwhile;
endif;