使用POST_CLASS单独设置帖子的样式

时间:2013-05-05 作者:Ammar

我有一个主页,我想在上面显示与其他帖子不同的最新帖子。我没用过post_class 我不知道该怎么做。

我是否能够使用post_class?

3 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您应该使用post_class (和body_class 但你不需要它。改变主页上的循环,有条件地格式化第一篇文章。

$first = (!is_paged()) ? true : false;
if (have_posts()) {
  while (have_posts()) {
    the_post();
    if ($first) {
      // code to format the first post
      $first = false;
    } else {
      // code to format all the other posts
    }
  }
}
如果您所需要的只是一个可以通过CSS进行的小更改,那么您可以通过post_class 参数。

$first = (!is_paged()) ? \'is_first\' : \'not_first\';
if (have_posts()) {
  while (have_posts()) {
    the_post();
    echo \'<div \',post_class($first),\'>\';
      // the rest of your Loop
    echo \'</div>\';
    $first = \'not_first\';
  }
}

SO网友:kaiser

实际上very 简单:使用$wp_query 对象属性current_post. 您必须注意,它以0, 因此,在下面的例子中,我以1为单位进行计算。

if ( have_posts() )
{
    while( have_posts() )
    {
        the_post();
        ?>
        <article <?php post_class( "post-nr-{$GLOBALS[\'wp_query\']->current_post+1}" ); ?>>
            <?php
            the_title();
            the_content();
            ?>
        </article>
        <?php
    }
}

SO网友:Colin Wiseman

我不会使用php代码来实现这一点。它添加了不必要的“点击”。CSS可能是您更好的选择,例如。

.post:nth-child(1) { ... }

.post:first-of-type { ... }
让浏览器来完成设计它的繁重任务?只是一个想法。

结束

相关推荐

内容部分下上传到帖子上的图像上的css样式

我已经上传了一张媒体图片到我看到的HTML中<a href=\"http://localhost/self/wp-content/uploads/2013/03/pic1.png\"><img src=\"http://localhost/self/wp-content/uploads/2013/03/pic1.png\" alt=\"pic1\" width=\"260\" height=\"260\" class=\"alignnone size-full wp-image-204\