Перебирайте посты WordPress и оборачивайте каждый пост X в DIV

Примечание: это само Q&

При построении асимметричных разметок сетки в WordPress, обычно вы хотите заключить каждую запись X в div, например, так:

div
post
post
/div
div
post
post
/div
div
post
post
/div

Я бы хотел избежать использования оператора по модулю, так как он быстро запутывается.

4

Решение

Большинство людей делают это с оператором по модулю, но это будет неудобно делать, если сообщения не найдены или даже в последнем сообщении произойдет деление. Я расширил на ответ предоставлен здесь @ 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 на сумму, которую вы хотите сгруппировать в строке.

9

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]