【发布时间】:2016-03-31 20:54:28
【问题描述】:
我需要将 WordPress 帖子循环分成左右两列。
目前我正在使用 2 个单独的循环来执行此操作,但如果可能的话,我想使用一个。
<div class="left-side">
<?php
$row_start = 1;
while ( have_posts() ) : the_post();
if( $row_start % 2 != 0) {// odd
get_template_part( 'blog','item');
}
++$row_start;
endwhile;
?>
</div>
<div class="right-side">
<?php
$row_start = 1;
while ( have_posts() ) : the_post();
if( $row_start % 2 == 0) {// even
get_template_part( 'blog','item');
}
++$row_start;
endwhile;
?>
</div>
感谢任何帮助!
【问题讨论】:
-
那不行,只要你直接输出内容。您需要先将内容组装到两个字符串变量中,然后在循环后输出。
-
@CBroe 知道我将如何通过 WP 编码标准来做到这一点吗?
-
我不知道有任何内置函数可以将模板调用的结果放入变量中,但可以使用输出缓冲来完成,请参阅stackoverflow.com/questions/5817726/…
-
你为什么要牺牲可读性和易于理解的代码来换取你最终会得到的一团意大利面条?
-
@Luke,我认为有比我现在拥有的更好、更清洁的方式。
标签: php wordpress while-loop