php - 遍历 WordPress 帖子,并将每个 X 帖子包装在一个 DIV 中

标签 php wordpress loops modulo

<分区>

注意:这是自问自答

在 WordPress 中构建非对称网格布局时,您通常希望将每个 X 帖子包装在一个 div 中,如下所示:

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

我想避免使用模运算符,因为它很快就会造成混淆。

最佳答案

大多数人使用模运算符来执行此操作,但如果找不到帖子,或者甚至在最后一个帖子上发生除法,这样做会很尴尬。我已经扩展了 answer provided here通过@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; ?>

您可以将第一个 foreach 循环中的“2”更改为您希望每行分组的数量。

关于php - 遍历 WordPress 帖子,并将每个 X 帖子包装在一个 DIV 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247770/

相关文章:

c - 如果用户没有输入正确的值,使 C 程序返回开始并再次要求输入

php - 奇怪的表更新 codeigniter $this->db->update

PHP MYSQL refine search 多个查询

php - 统一日期格式 - 如何?

jquery - 试图从鼠标悬停更改为单击

javascript - 我正在尝试获取完整的世界地图,而无需使用 gmaps 重复自动调整为 div

css - 如何从一个页面中排除 CSS?或者如何重置一页的页边距

javascript - 即使 "else"语句为 true,循环数组也会执行 "if"(Javascript)

javascript - 在 Javascript 中对对象属性执行字符串方法

Apache2 下的 PHP5-ldap 和 LDAPS(不工作)与 CLI(工作)