您可以通过使用多重循环或循环中的循环轻松实现这一点。
假设您有一个带有标准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; ?>