问题描述
我为一位 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; ?>