设置循环格式&在其他循环中设置循环

时间:2014-02-05 作者:Cwkin7

我对wordpress循环有几个问题。这个问题可能很奇怪,但它符合jquery的要求。我想做的是:

循环“page”div,每个div中显示两个“threads”,不使用任何转换,如页码(分页??),但只需将所有帖子(“thread”div)以下面的格式粘贴到一个php中即可。div的所有类名都不需要在循环中更改。

“title”div来自另一个循环,因为它与“thread”无关,即“循环中的循环”?

<div class="page">
    <div class="title">
        <--title from another loop-->
    </div>

    <div class="thread">
        <div class="img-cont"></div>
        <--content of 1st thread-->
    </div>

    <div class="thread">
        <div class="img-cont"></div>
        <--content of 2nd thread-->
    </div>
</div>

1 个回复
最合适的回答,由SO网友:fischi 整理而成

您可以通过使用多重循环或循环中的循环轻松实现这一点。

假设您有一个带有标准WordPress循环的普通页面模板,输出包装器<div class="page"> 以及标题:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <div class="page">
        <div class="title">
            <?php the_title(); ?>
        </div>
        <!-- other loop will go here -->
    </div>
<?php endwhile; endif; ?>
现在需要调用的新实例WP_Query, 所有的$args 你需要的。

Please do not just use query_posts( $args )!, 因为这并不打算被主题和插件使用。

您的第二个循环如下所示:

$second_query = new WP_Query( $args );
while ($second_query->have_posts()) : $second_query->the_post(); // Loop through the second loop and set up post data
?>
    <div class="thread">
        <div class="img-cont"></div>
        <?php $second_query->the_content(); ?>
    </div>
<?php endwhile; ?>
总之,这可能是您的代码示例:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <div class="page">
        <div class="title">
            <?php the_title(); ?>
        </div>

        <?php
            $second_query = new WP_Query( $args );
            while ($second_query->have_posts()) : $second_query->the_post(); // Loop through the second loop and set up post data
        ?>
                <div class="thread">
                    <div class="img-cont"></div>
                    <?php $second_query->the_content(); ?>
                </div>
        <?php 
            endwhile;
        ?>
    </div>
<?php endwhile; endif; ?>
当然,您也可以有两个自定义循环,而不是标准的WordPress循环:

<?php 
    $first_query = new WP_Query( $args );
    while ($first_query->have_posts()) : $first_query->the_post();
?>
    <div class="page">
        <div class="title">
            <?php $first_query->the_title(); ?>
        </div>

        <?php
            $second_query = new WP_Query( $args );
            while ($second_query->have_posts()) : $second_query->the_post(); // Loop through the second loop and set up post data
        ?>
                <div class="thread">
                    <div class="img-cont"></div>
                    <?php $second_query->the_content(); ?>
                </div>
        <?php 
            endwhile;
        ?>
    </div>
<?php endwhile; ?>

结束

相关推荐

Pagination on Custom Loop

我想将最新帖子的样式与自定义页面上某个类别中的所有其他帖子的样式不同。到目前为止,我有下面的代码,它正是这样做的:<?php if (have_posts()) : ?> <?php query_posts(\"cat=4&showposts=1\"); ?> <?php while (have_posts()) : the_post(); ?> (Style1)<?php the_title(); ?><