所以我真的不知道为什么我在这方面有这么多麻烦,似乎wordpress中的功能应该更容易使用。
无论如何I need to generate a menu system for a sidebar that looks like this (for a top level page):
<ul>
<li><a>Sub-Page</a></li>
<li><a>Sub-Page</a>
<ul>
<li><a>Sub-Sub-Page</a></li>
<li><a>Sub-Sub-Page</a></li>
</ul>
</li>
<li><a>Sub-Page</a>
<ul>
<li><a>Sub-Sub-Page</a></li>
<li><a>Sub-Sub-Page</a></li>
<li><a>Sub-Sub-Page</a></li>
</ul>
</li>
<li><a>Sub-Page</a></li>
</ul>
如果这样,
I need to show the same menu, no matter how deep in the sub pages the user is at.
例如,如果我在一个子页面上,那么我仍然希望显示相同的菜单。
换句话说,即使我在第三级页面,它仍然会显示第三和第二级页面-与上面的菜单完全相同。
感谢您在这方面的帮助!
最合适的回答,由SO网友:Ben Potter 整理而成
所以结果比我想象的要简单一些:
<?php
if ($post->post_parent) {
$ancestors=get_post_ancestors($post->ID);
$root=count($ancestors)-1;
$parent = $ancestors[$root];
} else {
$parent = $post->ID;
}
?>
<?php $args = array(
\'depth\' => 0,
\'date_format\' => get_option(\'date_format\'),
\'child_of\' => $parent,
\'title_li\' => __(\'\'),
\'sort_column\' => \'menu_order, post_title\'
); ?>
<ul>
<?php wp_list_pages( $args ); ?>
</ul>