我需要一些帮助为我的网站做导航,但我无法弄清楚如何使用Wordpress'wp_list_pages()
功能。
作为参考,http://www.rwgroup.com/上的导航系统应准确了解我的目标。
在我尝试使用wp_list_pages('child_of='.$post->parent_post)
之前,但似乎这些页面只显示它的直接父级而忘记了它的祖先。我已经尝试了一段时间了,但我无法理解它。
任何想法都会很棒
答案 0 :(得分:0)
尝试使用此代码列出当前页面及其祖先和子项 -
<?php
//if the post has a parent
if($post->post_parent){
//collect ancestor pages
$relations = get_post_ancestors($post->ID);
//get child pages
$result = $wpdb->get_results( "SELECT ID FROM wp_posts WHERE post_parent = $post->ID AND post_type='page'" );
if ($result){
foreach($result as $pageID){
array_push($relations, $pageID->ID);
}
}
//add current post to pages
array_push($relations, $post->ID);
//get comma delimited list of children and parents and self
$relations_string = implode(",",$relations);
//use include to list only the collected pages.
$sidelinks = wp_list_pages("title_li=&echo=0&include=".$relations_string);
}else{
// display only main level and children
$sidelinks = wp_list_pages("title_li=&echo=0&depth=1&child_of=".$post->ID);
}
if ($sidelinks) { ?>
<h2><?php the_title(); ?></h2>
<ul>
<?php //links in <li> tags
echo $sidelinks; ?>
</ul>
<?php } ?>