【问题标题】:Recursive menu tree function递归菜单树函数
【发布时间】:2012-07-25 13:21:21
【问题描述】:

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

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

【问题讨论】:

  • This snippet displays a menu tree - 我在这里看不到任何类似树的行为 - 如果它有一个,它看起来只是列出帖子父级的子级,或者如果没有,则发布子级。我希望看到某种形式的循环或递归函数调用来显示一棵树...是否有更多的代码可以包装你给我们看的?
  • 在这里查看我的答案:stackoverflow.com/questions/5881335/…
  • @DaveRandom 抱歉,如果问题不清楚,但 sn-p 没有正确解析树(最多只有两个级别),所以我需要帮助来弄清楚。
  • @Joseph 你能显示用于填充$wp_query 的查询吗?

标签: php recursion wordpress


【解决方案1】:
<?
function getParent($obj){
  if (empty($obj->post->post_parent)){
    return $obj->post->ID;
  } else {
    return getParent($obj->post->post_parent);
  }
}
$parent = getParent($wp_query)
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2013-03-12
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多