Wordpress 中的多个帖子循环

问题描述

我为一位 CPT 的健康从业者建立了一个网站: (single-injuries.PHP、single-services.PHP、single-testimonials.PHP、single-partners.PHP

并且我使用循环创建了适当的(archive-injuries.PHP、archive-services、archive-testimonials、archive-partners)来显示相关帖子。

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

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

解决方法

我建议您应该使用数据库来执行此操作,或者您的帖子中的存档是什么意思?如果您使用的是数据库,只需进行一个查询,该查询将从不同的表中选择所有数据,如下所示

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

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

,

您可以使用自定义查询来查询您列出的所有 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; ?>