我正在创建一个列网格,需要根据返回的帖子数量向循环末尾的每一列添加一个css类,因此它会返回如下内容:
<div class="column-3"</div>
<div class="column-3"</div>
<div class="column-3"</div>
ANSWER
使用$loop->found-posts()!
<div class="airport-children">
<?php
$args = array( \'post_parent\' => wp_get_post_parent_id( $post_ID ), \'post_type\' => \'airports\', \'posts_per_page\' => -1 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="airport-child column-<?php echo $loop->found_posts ?>">
<h2><?php the_title(); ?></h2>
<a href="<?php echo the_permalink(); ?>"><button>View</button></a>
</div>
<?php endwhile; wp_reset_postdata(); ?>
</div>
最合适的回答,由SO网友:peksipatongeis 整理而成
如果我正确理解了这个问题,那么当前代码的问题是,您在while循环中增加了$totalPosts变量,因此该变量在每次发布后都会增加,从而产生您描述的运行顺序。
要获取与查询匹配的返回帖子数量,请使用$loop->found_posts
(在这种情况下)
有关的更多信息、示例和文档WP_Query
可从中找到WordPress Codex