Php 如何在特定位置插入动态菜单项?
我可以使用以下命令将新菜单项放置到根级菜单项的末尾:Php 如何在特定位置插入动态菜单项?,php,wordpress,wp-nav-menu-item,Php,Wordpress,Wp Nav Menu Item,我可以使用以下命令将新菜单项放置到根级菜单项的末尾: function bv_show_book_online_menu_item($items, $args) { if(bv_can_book_online()) { if($args->theme_location == 'main-menu') { $items .= '<li><a href="/book/">Book Online</a></
function bv_show_book_online_menu_item($items, $args) {
if(bv_can_book_online()) {
if($args->theme_location == 'main-menu') {
$items .= '<li><a href="/book/">Book Online</a></li>';
}
}
return $items;
}
add_filter('wp_nav_menu_items','bv_show_book_online_menu_item', 10, 2);
但是,我怎样才能真正地将项目插入我想要的任何地方呢?实际上,我想把它放在子菜单的中间:
Menu Item
Submenu Item
Submenu Item
<-- Insert new submenu item -->
Submenu Item
Submenu Item
Menu Item
Submenu Item
Submenu Item
Submenu Item
etc
快速而肮脏的解决方案: 安装;这允许您通过菜单页面有条件地显示菜单项和子菜单项 将您自己的my_函数添加到functions.php或您自己的站点函数插件。当显示子菜单时,插件应返回TRUE 在WP Dashboard菜单页面上,选择可选子菜单,并将此条件函数_existsmy_函数&&my_函数添加到其可见性字段。简单地说:如果找不到my_函数,请不要放弃,只有在my_函数返回TRUE时才显示此子菜单 我假设这个插件必须在visibility字段中计算条件。理论上,这是一个轻微的安全风险。然而,几个月前,当我检查插件的许多支持和评论时,我找不到任何值得关注的地方
如果这与您有关;然后,您也可以从插件源代码中找到所需的代码。谢谢,我正在研究一种不使用插件的方法,并将其作为主题函数的核心,如果这个问题有效,我会更新它。如果你提出了一个代码解决方案,那么我和其他人都会感兴趣,所以把它添加为一个答案,并将其标记为正确答案。我有一种感觉,你将不得不使用沃克类-为我摆弄不同的菜单项和子链接取决于游客国家,因此我使用插件。我并没有检查,但上面插件中的代码可能会给你们一些如何实现的线索。实际上,它不需要步行器。与动作挂钩的想法相同,但是使用wp\u get\u nav\u menu\u项来循环它们,然后我只是在第n个菜单项之后插入链接,或者在我的例子中插入函数。它非常简单。