Wordpress 中的多个帖子循环

Multiple post loops in Wordpress

提问人:DanG 提问时间:1/21/2021 最后编辑:DanG 更新时间:1/22/2021 访问量:160

问:

我为一位 CPT 为以下健康从业者建立了一个网站: (单伤.php,单服务.php,单推荐.php,单合伙人.php)

并且我创建了适当的(archive-injury.php,archive-services,archive-testimonials,archive-partners)来显示相关帖子。

然而 我现在想创建一个站点地图页面,该页面从所有存档中提取所有帖子,并仅显示每个帖子的页面名称和URL...

如何遍历多个档案,是否在循环中为每个档案嵌套一个循环?

PHP wordpress 循环 存档

评论


答:

1赞 Vadim 1/21/2021 #1

我建议你应该使用数据库来做到这一点,或者档案在你的帖子中意味着什么?如果您使用的是数据库,只需进行一个查询,该查询将从不同的表中选择所有表,如下所示

SELECT archive-injuries.*, archive-services.*, archive-testimonials.*, archive-partners.* FROM your data base

然后做一个while循环,在mysqli_fetch_assoc有一些数据时显示帖子

1赞 Johannes 1/21/2021 #2

您可以使用自定义查询来查询您列出的所有 CPT(将它们放入数组中),类似于此(列出找到的所有帖子标题,每个标题都链接到其完整帖子):post_type

<?php
$args = array(
    'post_type' => array('injuries', 'services', 'testimonials', 'partners' ),
    'post_status' => 'publish',
);
 $loop1 = new WP_Query($args);
          
if ( $loop1->have_posts() ) : while ( $loop1->have_posts() ) : $loop1->the_post(); 
    $post_title = get_the_title();
?>
  <div>
    <p><a href='<?php echo get_the_permalink(); ?>'><?php echo post_title; ?></a></p>
  </div>
<?php endwhile;  else: ?>
   <p>Nothing found</p>
<?php endif; ?>

评论

0赞 DanG 2/15/2021
非常感谢。这非常有效,正是我所追求的。