您可以通过使用array_chunk()
PHP函数,将数组拆分为较小的块。那么你就不必担心用一些数学技巧来打开和关闭div了。
让我们重写您的代码片段,并希望它更易于使用:
// Let\'s get all posts with thumbnail set in some category
$args = [
\'cat\' => 22,
\'posts_per_page\' => 9,
\'meta_key\' => \'_thumbnail_id\'
];
// Fetch posts
$query = new WP_Query( $args );
if( $query->have_posts() )
{
while ( $query->have_posts() )
{
$query->the_post();
// Collect all items into a temp array
$tmp[] = sprintf(
\'<div class="small-1 large-4 columns"><a href="%s">%s</a></div>\',
get_permalink(),
get_the_post_thumbnail( get_the_ID(), \'large\' )
);
}
// Split the divs into rows of 3 items
$rows = array_chunk( $tmp, 3 );
// Housecleaning
unset( $tmp );
wp_reset_postdata();
// Output the rows
foreach( $rows as $row )
printf( \'<div class="row">%s</div>\', join( \'\', $row ) );
}
瞧,妈,这里没有数学
希望您可以根据自己的需要进行调整。