Php 递归菜单树函数

Php 递归菜单树函数,php,recursion,wordpress,Php,Recursion,Wordpress,此代码段显示页面和当前页面子菜单树,最多可显示两个级别。如何使这个递归函数在无限级别下工作 if( empty($wp_query->post->post_parent) ) { $parent = $wp_query->post->ID; } else { $parent = $wp_query->post->post_parent; } ?> <?php if(wp_list_pages("title_li=&child

此代码段显示页面和当前页面子菜单树,最多可显示两个级别。如何使这个递归函数在无限级别下工作

if( empty($wp_query->post->post_parent) ) {
    $parent = $wp_query->post->ID;
} else {
    $parent = $wp_query->post->post_parent;
} ?>
<?php if(wp_list_pages("title_li=&child_of=$parent&echo=0" )): ?>
<div id="submenu">
    <ul>
    <?php wp_list_pages("title_li=&child_of=$parent" ); ?>
    </ul>
</div>
<?php endif; ?>
if(空($wp\u query->post->post\u parent)){
$parent=$wp\u query->post->ID;
}否则{
$parent=$wp\u query->post->post\u parent;
} ?>


此代码段显示一个菜单树
-我在这里看不到任何类似于树的行为-它看起来只是列出了文章父级的子级(如果它有一个),或者如果没有子级,则列出子级。我希望看到某种形式的循环或递归函数调用来显示树。。。是否有更多的代码包装了您展示给我们的内容?请看我的答案:@DaveRandom如果问题不清楚,很抱歉,但代码片段没有正确解析树(最多两级),因此我需要帮助才能解决这一问题。@Joseph您能展示用于填充
$wp\u query
的查询吗?
<?
function getParent($obj){
  if (empty($obj->post->post_parent)){
    return $obj->post->ID;
  } else {
    return getParent($obj->post->post_parent);
  }
}
$parent = getParent($wp_query)
?>