wordpress 多循环问题

Posted

技术标签:

【中文标题】wordpress 多循环问题【英文标题】:wordpress multiple loops problem 【发布时间】:2009-10-01 17:00:01 【问题描述】:

我正在尝试建立一个 single.php 页面。此页面用于显示完整的单个帖子。

我有 3 个循环。前两个用于(每个)从特定类别中获取随机帖子。

1

<?php query_posts(array('orderby' => 'rand', 'category_name' => announcement, 'showposts' => 1)); if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>

2

<?php query_posts(array('orderby' => 'rand', 'category_name' => quote, 'showposts' => 1)); if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>

问题在于应该显示真实帖子本身的第三个循环。

3

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; else: ?>
<?php endif; ?>

^^ 这显示与 #2 相同的帖子。

所以,#1 和 #2 工作得很好,但是如何让 #3 显示它应该显示的单个帖子 - 例如,来自链接 http://example.com/one-post/ 标题为 one-post 的帖子应该被显示。

#1 和#2 位于页面的“顶部”区域,而#3 应位于页面中间。

【问题讨论】:

【参考方案1】:

固定。

修复它。将 #1 和 #2 更改为

<?php
    $randomAnnouncement = new WP_Query();
    $randomAnnouncement->query('cat=545&showposts=1&orderby=rand');
    while ($randomAnnouncement->have_posts()) : $randomAnnouncement->the_post();
?>

<?php the_content(); ?>

<?php endwhile; ?>

<?php
    $randomQuote = new WP_Query();
    $randomQuote->query('cat=546&showposts=1&orderby=rand');
    while ($randomQuote->have_posts()) : $randomQuote->the_post(); ?>

<?php the_content(); ?>

<?php endwhile; ?>

#3 保持原样。

希望这对其他人有帮助。

【讨论】:

以上是关于wordpress 多循环问题的主要内容,如果未能解决你的问题,请参考以下文章

wordpress 循环显示文章问题

get_posts()函数wordpress调用指定ID文章多篇文章

Wordpress nginx 重定向循环

ACF 循环表复选框(WordPress)的问题

自定义 wordpress 类别循环列表页面

Wordpress,如果循环没有结果,则不显示标题