这是可行的,它会在附加类中传递到post_class()
:
<?php $c = 0; ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class((++$c % 2 === 0) ? \'odd\' : \'even\'); ?>>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
EDIT: 这里有一种方法可以创建
post_class()
这将记录页面上的计数。现在,它将使用一个新名称,
oddeven_post_class()
但它确实能按你的意愿工作。你需要做的就是把这个放进
functions.php
:
/* Drop this block into functions.php */
class MyCounter {
var $c = 0;
function increment(){
++$this->c;
return;
}
function oddOrEven(){
$out = ($this->c % 2 === 0) ? \'odd\' : \'even\';
$this->increment();
return $out;
}
}
$my_instance = new MyCounter();
function post_class_oddeven() {
global $my_instance;
ob_start();
post_class($my_instance->oddOrEven());
$str = ob_get_contents();
ob_end_clean();
echo $str;
}
/* end block */
所以说,使用
post_class_oddeven()
在你的主题中,无论你打电话到哪里
post_class()