循环浏览 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 中使用自定义帖子类型时无法在循环中过滤类别

jQuery 循环创建 div 并将内容附加到它们

wordpress 多循环问题

WordPress 查询:按年份 DESC 对帖子进行分组,然后在每个组中按月 ASC 发布帖子

如何在不破坏浏览器的情况下导入大量Wordpress帖子?

Wordpress 后循环的边框,使用 Bootstrap 的网格