PHP循环 - 包装每2个项目并按元素排序html

时间:2014-03-30 01:31:51

标签: php wordpress

我正在使用wordpress的自定义模板。最后,我想要以下设置:

<div class="post-group-of-2">
    <a id="post1" href="#">Title 1</a>
    <a id="post2" href="#">Title 2</a>

    <p id="description1">Description from post 1</p>
    <p id="description2">Description from post 2</p>
</div>

<div class="post-group-of-2">
    <a id="post3" href="#">Title 3</a>
    <a id="post4" href="#">Title 4</a>

    <p id="description3">Description from post 3</p>
    <p id="description4">Description from post 4</p>
</div>

<div class="post-group-of-2">
    <a id="post5" href="#">Title 5</a>
    <a id="post6" href="#">Title 6</a>

    <p id="description5">Description from post 5</p>
    <p id="description6">Description from post 6</p>
</div>

我已经想出如何在容器中包装每2个div,但每个组的顺序如下:

<div class="post-group-of-2">
    <a id="post1" href="#">Title 1</a>
    <p id="description1">Description from post 1</p>

    <a id="post2" href="#">Title 2</a>
    <p id="description2">Description from post 2</p>
</div>

<div class="post-group-of-2">
    <a id="post3" href="#">Title 3</a>
    <p id="description3">Description from post 3</p>

    <a id="post4" href="#">Title 4</a>
    <p id="description4">Description from post 4</p>
</div>

<div class="post-group-of-2">
    <a id="post5" href="#">Title 5</a>
    <p id="description5">Description from post 5</p>

    <a id="post6" href="#">Title 6</a>
    <p id="description6">Description from post 6</p>
</div>

由于查询是线性的,它显然从每个组中的第一个帖子抓取锚标记和

,然后拉出第二个2.所以我想知道是否有办法实现我发布的第一个HTML代码。我正在考虑一个主查询循环,然后在post容器中的两个循环首先调用锚标记,然后是段落标记。但我在php方面并不是很先进,我想知道是否有人可以帮我指点方向。

我目前的PHP代码:

<?php $args = array(
        'post_type' => 'post_type',
        'showposts' => 200,
        'orderby' => 'menu_order',
        'order' => 'ASC'
    );
    $customquery = new WP_Query( $args ); ?>


<?php
    $group = 0;
    while ( $customquery->have_posts() ) : $customquery->the_post();


    $ifGroup = ($group % 2) == 0;
    echo $containerStart = $ifGroup ? '<div class="post-group-of-2">' : ''; ?>

    <a href="#"><?php echo $post->post_name; ?></a>
    <p>Description</p>

    <?php echo $containerEND = $ifGroup ? '' : '<div class="clear"></div></div>';
    $group++;
    ?>
<?php endwhile; wp_reset_query(); ?>

0 个答案:

没有答案