php - 递归菜单树函数

此代码段显示页面的菜单树和最多两个级别的当前页面子级。我怎样才能使这个递归适用于无限级别?

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; ?>

最佳答案

<?
function getParent($obj){
  if (empty($obj->post->post_parent)){
    return $obj->post->ID;
  } else {
    return getParent($obj->post->post_parent);
  }
}
$parent = getParent($wp_query)
?>

https://stackoverflow.com/questions/11586117/

相关文章:

asp.net-mvc - asp.net razor中有类似eval()的函数吗?

ruby-on-rails-3 - 导轨 3 : How to prevent the browse

sql-server - MSDTC 设置/属性正在重置

scala - 如何将 request.body 转换为字节数组以计算 MD5?

ruby-on-rails-3 - Rails 应用程序占用所有服务器内存

symfony - doctrine2 ifnull

linux-kernel - wait_for_completion 与 wakeup_interr

c# - 不断将数据写入文件

qt - 如何制作标题为两行的 QGroupBox?

qt - 从 Qt Designer 上的不同项目读取 "resource"文件