Dre*_*ker 4 php wordpress loops modulo
注意:这是一个自我问答
在WordPress中构建不对称网格布局时,通常需要将每个X帖子包装在div中,如下所示:
div
post
post
/div
div
post
post
/div
div
post
post
/div
Run Code Online (Sandbox Code Playgroud)
我想避免使用模运算符,因为它很快就会混淆.
大多数人使用模运算符来执行此操作,但如果找不到任何帖子,或者甚至在最后一个帖子上发生分割,则会很难执行此操作.我已经扩展了@The 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; ?>
Run Code Online (Sandbox Code Playgroud)
您可以将第一个foreach循环中的"2"更改为您希望每行分组的数量.