get_post_ancestors()返回所有祖先的页面ID的数组。
wp_list_pages()接受页ID的逗号分隔的列表
的破灭()函数胶水连同一个字符串数组,在这种情况下一个逗号。
通过以逗号将get_post_ancestors的结果进行内插,它可以有效地创建一个逗号分隔的祖先页面标识列表,以传递给wp_list_pages()。
wp_list_pages()的默认用法会创建嵌套列表。将深度选项设置为-1可将所有项目排列在平面列表中。
最后一个重要的位,if语句检查以确保该帖子在列出父页面之前实际上具有父级。如果没有父母,并且调用了get_post_ancestors(),则会由于某种原因返回WP网站上的所有页面。
全部放在一起,
<ul>
<?php
$ancestorsCSV = implode(',' , get_post_ancestors($post));
if ($post->post_parent){
wp_list_pages('include='.$ancestorsCSV.'&title_li=&depth=-1');
}
?>
</ul>
,我意外的是没能找到通过谷歌搜索这样的解决方案。
实际上,这会按字母顺序返回它们。任何人都知道如何做到这一点,并保持正确的顺序? – evandentremont