0

我在我的 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' ),
) );

我需要在 menu-4 的开头动态插入一个新的菜单链接据我了解,只需传入菜单的主题位置名称,就可以使用 wp_nav_menu_items 的变体过滤特定菜单。在我的例子中,'menu-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;
}

但是,这是行不通的。我不确定我在这里缺少什么。

4

1 回答 1

1

这里不是导航菜单 id...它是菜单名称 slug...就像这里我已经命名了我的菜单,$menu->slug所以slug 变成了这样您的过滤器将是...apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );Main Menumain-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;
}

菜单

于 2021-08-12T16:33:45.160 回答