我在我的WordPress主题中注册了4个菜单。
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”。
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;
}然而,这是行不通的。我不知道我在这里错过了什么。
发布于 2021-08-12 16:33:45
这里的$menu->slug apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );不是导航菜单.菜单上的名字叫鼻涕虫。就像这里我已经把我的菜单命名为Main Menu所以鼻涕虫变成了main-menu所以你的过滤器.
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;
}

https://stackoverflow.com/questions/68759013
复制相似问题