WordPress 循环 Post 计数器从不改变

WordPress Loop Post Counter Never Changes

我想以不同的方式设置第一个 post 的样式,因此我尝试使用一个简单的计数器将 class 添加到第一个 post。

首先,在 index.php 我有这个

if ( have_posts() ) :
    $postCount = 0;
    while ( have_posts() ) :
        the_post();
        $postCount++;
        get_template_part( 'template-parts/content', get_post_type() );
    endwhile;
endif;

然后 content.php 我有

<div class="article-wrapper <?php echo $postCount; ?>"> 

$postcount 始终为 1

如果我将 $postCount = 0;$postCount++; 移动到 content.php,该值也不会改变。

我可以创建自定义博客页面模板,但我希望看到它起作用。

您必须应用过滤器 post_class。以下代码来自这篇文章:https://www.isitwp.com/add-class-to-first-post-in-the-loop/

add_filter( 'post_class', 'wps_first_post_class' );
function wps_first_post_class( $classes ) {
    global $wp_query;
    if( 0 == $wp_query->current_post )
        $classes[] = 'first';
        return $classes;
}