你可以做得容易得多。当您正在制作一个可以通过浮点实现的布局时,无需每秒声明一行。
在我的代码示例中,我只使用$count
确定HTML元素的类。结合显示的帖子总数。
如果职位总数$wp_query->post_count
由$count
总数是奇数,我给元素类fullwidth
. 同样,我确定它是第一个还是第二个(请参见if语句)。
之后我需要做的就是为循环中的每个HTML元素输出相应的类。除了类之外,没有元素彼此不同。
我使用Modulo
PHP中的运算符(%
) 确定奇数/偶数。它提供1
如果我使用$count % 2
和$count
很奇怪。如果您不确定此运算符,请阅读相关内容here.
因此,您的代码可能如下所示:
<?php
$count = 0;
if (have_posts()): while (have_posts()) : the_post();
if ( ++$count == $wp_query->post_count && ( $wp_query->post_count % 2 ) == 1 ) {
// if final count is reached AND final count is odd
// full width item
$postclass = "fullwidth";
$opentag = \'\';
$closingtag = \'</div>\';
} else if ( ( $count % 2 ) == 1 ) {
// if $count is odd it is the first item in a \'row\'
$postclass = "halfwidth first";
$opentag = \'<div class="home-ci-row">\';
$closingtag = \'\';
} else {
// second item in a row
$postclass = "halfwidth second";
$opentag = \'\';
$closingtag = \'</div>\';
}
?>
<?php echo $opentag; ?>
<div class="main-column-item-wrap <?php echo $postclass; ?>">
CONTENT OF POST : Title, Thumbnail, Excerpt... etc
</div><!-- main-column-item-wrap -->
<?php echo $closingtag; ?>
<?php endwhile; endif; ?>