Примечание: это само Q&
При построении асимметричных разметок сетки в WordPress, обычно вы хотите заключить каждую запись X в div, например, так:
div
post
post
/div
div
post
post
/div
div
post
post
/div
Я бы хотел избежать использования оператора по модулю, так как он быстро запутывается.
Большинство людей делают это с оператором по модулю, но это будет неудобно делать, если сообщения не найдены или даже в последнем сообщении произойдет деление. Я расширил на ответ предоставлен здесь @ Shift Exchange, чтобы сделать это более чистым способом.
<?php
// Get posts (tweak args as needed)
$args = array(
'post_type' => 'page',
'orderby' => 'menu_order',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'order' => 'ASC'
);
$posts = get_posts( $args );
?>
<?php foreach (array_chunk($posts, 2, true) as $posts) : ?>
<div class="row">
<?php foreach( $posts as $post ) : setup_postdata($post); ?>
<a id="post-<?php the_ID(); ?>" <?php post_class(); ?> href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
</a>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
Вы бы изменили «2» в первом цикле foreach на сумму, которую вы хотите сгруппировать в строке.
Других решений пока нет …