自动将子页面添加到子菜单

时间:2017-02-22 作者:Bunjip

如果在导航菜单的父页面(前端)下添加了新页面,我希望新页面自动添加到相应的子菜单中,而无需任何插件。

原因:自定义用户角色具有添加、编辑、删除帖子和页面的所有大写字母。但是,如果菜单设置是其中的一部分,则该角色不能进入设计设置。在我的自定义模板中,子页面应该简单地显示在其各自父级的子菜单中。

我理解,我需要连接到nav\\U菜单渲染过程。我想,第一个答案here 非常接近解决方案。然而,我找不到合适的钩子,也找不到确切的钩子方法。

我摆弄着wp_nav_menu_items 但是没有意义,因为钩子的回调函数不接受任何参数,是吗?

这是我用来解释我意图的伪代码:

function add_subpages_to_submenu($Menu){
    foreach ($Menu->Items as $Item) {
        if ($Item->hasChildren()){
            foreach ($Item->Children as $Child) {
                add_to_current_submenu($Child);
            }
        }
    }
    return $Menu;
}
add_filter(\'wp_nav_menu_items\', \'add_subpages_to_submenu\');
这段代码实际上需要什么样子?

谢谢

1 个回复
SO网友:Andreas Therkildsen

晚上好

我必须回答这个问题,因为缺少代表。

此帖子可能会帮助您:)

Add child pages automatically to nav menu

相关推荐

如何在WordPress中覆盖/定制wp-admin/nav-menus.php

我想知道是否有办法定制wp管理/导航菜单。php,以便我可以添加自己的额外字段或选项卡。例如,我想为用户创建的每个菜单创建一个新选项卡(菜单设置)。我觉得如果在创建的每个菜单上都附加了特定的设置,会更加方便用户。这可能吗?目前,我正在按主题选项进行此操作,但它有局限性:(