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