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;
}
我想以不同的方式设置第一个 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;
}