所以我一直在寻找解决方案一段时间无济于事。有很多关于为偶数帖子和奇数帖子创建不同输出的信息,但我需要不同的东西。
基本上我已经动态加载了添加到页面的帖子。它们都是具有float: left
CSS规则的容器的50%。因此,如果帖子的总数甚至看起来很棒,如果它很奇怪,那么在最后一个帖子加载到页面后会有一个尴尬的空白空间。
我想创建一条规则,说明如果帖子的总数是偶数,则应用此标记,如果是奇数,则应用备用标记。然后我可以把标记的最后一个孩子拿到并强制宽度为100%而不是50%。
这是我的循环:
<?php $the_query = new WP_Query();
$x = 0;
while ( $the_query->have_posts() ) :
$the_query->the_post(); ?>
<article>
Some Content
</article>
<?php endwhile;
$x++;
wp_reset_query(); ?>
CSS:
article { width: 50%; float: left; }
我想要的是:
<?php if ($post_count = even) : ?>
<article>
Some Content
</article>
<?php elseif ($post_count = odd) : ?>
<article class="alt">
Some Content
</article>
<?php endif; ?>
CSS:
article { width: 50%; float: left; }
article.alt:last-child { width: 100%; }
是否有人熟悉如何实现这一目标?一如既往,非常感谢任何帮助!
欢呼声,
答案 0 :(得分:1)
模数(%)运算符可以在这里使用
if (($x % 2) == 1)
{
echo "odd";
}
if (($x % 2) == 0)
{
echo "even";
}
答案 1 :(得分:0)
你可以试试这个:
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;
if($published_posts % 2 == 0)
{
// even
}
else
{
//odd
}
如果您想知道各自的帖子是偶数还是奇数...请参阅以下内容:
<?php $postnum = 0;?>
if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $postnum++;
$alt = ( $postnum % 2 ) ? ' even_post' : ' odd_post';
?>