自动将子页面添加到菜单

时间:2014-02-05 作者:Josh

我一直在阅读一些人们已经问过但没有用的问题和解决方案。

我的WP网站上有4个菜单,每个菜单都有子菜单。

我希望菜单能够自动向其中添加子菜单并显示它,而无需我/其他人管理菜单窗格。

例如:

关于我们的子页面1子页面2子页面3子页面4子页面,其中所有子页面都作为新页面添加,并设置为以“关于我们”作为父页面。

据我所知,现在唯一的方法是使用菜单窗格。我已经看过了Auto Submenu, Gecka Submenu 还有其他人,但他们似乎一点帮助都没有。

有什么建议吗?

2 个回复
SO网友:Andy Macaulay-Brook

您可以采取两种可能的方法。

一种方法是在页面发布时挂接,并编写相应的代码来更新菜单,从而有效地实现类似于内置的“添加顶级页面”功能的功能。您需要仔细考虑更改页面父级时希望发生的情况,等等。

因此,可能比这更可靠的方法是挂接菜单呈现,如果页面有子菜单,则使用wp_list_pages. 我对默认菜单行者中的挂钩没有最新了解。上次我看到这样的东西时,我不得不使用自己的Walker类作为wp_nav_menu. 如果您查看源代码,希望现在有更多的钩子可以在其中使用。

SO网友:Fraggy

您可以使用[wp_nav_menu][1] 功能如下:

<?php 
    $args = array(
                \'menu\' => \'menu_name\', //Name of menu you created in WP admin
                \'depth\' => 1, //define how deep you\'d like the menu 0,1,2,3 etc
                \'items_wrap\' => \'<ul><li id="item-id">Menu: </li>%3$s</ul>\' 
            );
    wp_nav_menu($args);
?>

结束

相关推荐

Add Protocol to Custom Menus

我一直在使用tel: 自定义菜单中的链接与响应性设计相结合,为我的智能手机主题添加了“立即呼叫”按钮。它一直运行良好。一位客户刚刚要求我也添加一个“发送文本”按钮。我想我会用sms: 它似乎有可接受的设备支持。然而,当我保存菜单时,WordPress将其从URL中删除。经过研究,我得出结论,这与esc_url() 和/或wp_kses() (参见Trac ticket #18268). 我编造了以下代码,试图自己添加SMS协议并将其放入函数中。php:<?php function add_n