循环浏览 WordPress 帖子,并将每个 X 帖子包装在 DIV [重复]
Posted
技术标签:
【中文标题】循环浏览 WordPress 帖子,并将每个 X 帖子包装在 DIV [重复]【英文标题】:Loop through WordPress posts, and wrap each X post in a DIV [duplicate] 【发布时间】:2015-03-30 15:07:15 【问题描述】:注意:这是一个自我问答
在 WordPress 中构建不对称网格布局时,您通常希望将每个 X 帖子包装在一个 div 中,如下所示:
div
post
post
/div
div
post
post
/div
div
post
post
/div
我想避免使用模运算符,因为它很快就会让人困惑。
【问题讨论】:
为什么模数运算符令人困惑?这是非常常见且直接的方法。 你必须跟踪计数,你必须有一堆 if/else 以确保包装 div 不会被打开和/或第一个被正确创建。跨度> 【参考方案1】:大多数人使用模运算符来执行此操作,但如果没有找到帖子,或者甚至在最后一个帖子上发生除法,这样做会很尴尬。我已经通过@The Shift Exchange 扩展了answer provided here,以更简洁的方式进行操作。
<?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; ?>
您可以将第一个 foreach 循环中的“2”更改为您希望每行分组的数量。
【讨论】:
哇。我一直使用模数,但这更干净。非常好!以上是关于循环浏览 WordPress 帖子,并将每个 X 帖子包装在 DIV [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Wordpress 中使用自定义帖子类型时无法在循环中过滤类别