如何在单个列中显示第一个帖子,在2列中显示其他帖子? WordPress的

时间:2012-07-22 17:10:02

标签: wordpress loops multiple-columns

我目前将所有帖子显示在一列中:

1
2
3
...

我想实现类似的目标:

1
23个
4
56个
...

有没有人对我如何做到这一点有任何想法?可能吗? 非常感谢你提前:))

现在我有:

<?php if( $wp_query->current_post <= 0 ) : ?>
code for the first one column post
<?php else : ?>
the rest of the posts styled in columns
<?php endif; ?>

2 个答案:

答案 0 :(得分:1)

我发现此问题的解决方案是使用默认循环的$ wp_query-&gt; current_post,在主题中添加到functions.php文件的过滤器函数中,当帖子的div为post_class()时/ p>

function special_recurrent_post_class($classes) {
      if( is_home() ) {
      global $wp_query;
      $extra_classes = array('','specific','specific','');
      $classes[] = $extra_classes[$wp_query->current_post%count($extra_classes)];
      }
      return $classes;
}
add_filter('post_class', 'special_recurrent_post_class');

上面的示例将此限制为主页或帖子页面上的帖子;否则,您需要将编码标记is_home()更改为其他内容。

答案 1 :(得分:0)

只需使用这样的计数器:

// before loop
$ctr = 1; 

if ($ctr == 1) {
    *** code for one column; ***
    $ctr ++;
} else {
    *** code for two column; ***
    $ctr++
    if ($ctr == 4) $ctr = 1   // Reset the counter, back to one column
}