首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态地将新菜单项添加到特定WordPress菜单的开头?

如何动态地将新菜单项添加到特定WordPress菜单的开头?
EN

Stack Overflow用户
提问于 2021-08-12 14:08:19
回答 1查看 702关注 0票数 0

我在我的WordPress主题中注册了4个菜单。

代码语言:javascript
复制
register_nav_menus( array(
    'menu-1' => esc_html__( 'Primary', 'honeycomb' ),
    'menu-2' => esc_html__( 'Mobile Cat Products', 'honeycomb' ),
    'menu-3' => esc_html__( 'Top Bar', 'honeycomb' ),
    'menu-4' => esc_html__( 'Shopify Nav', 'honeycomb' ),
) );

我需要动态地插入一个新的菜单链接在菜单的开头-4,据我所理解,它可以使用wp_nav_menu_items的一个变体过滤特定的菜单,只需传递菜单的主题位置名称。在我的例子中“菜单-4”。

代码语言:javascript
复制
add_filter( 'wp_nav_menu_menu-4_items', 'prefix_add_menu_item', 10, 2 );

function prefix_add_menu_item ( $items, $args ) {
   $items .=  '<li class="menu-item">My New Item Here</li>';

   return $items;
}

然而,这是行不通的。我不知道我在这里错过了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-12 16:33:45

这里的$menu->slug apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );不是导航菜单.菜单上的名字叫鼻涕虫。就像这里我已经把我的菜单命名为Main Menu所以鼻涕虫变成了main-menu所以你的过滤器.

代码语言:javascript
复制
add_filter( 'wp_nav_menu_main-menu_items', 'so68759013_add_menu_item', 10, 2 );

function so68759013_add_menu_item( $items, $args )
{   
  $items .=  '<li class="menu-item">My New Item Here</li>';

  return $items;
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68759013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档