У тебя указан menu_id..
Что сделать:
В админке во вкладке "Управление областями" оставить поле "Назначенное меню" пустым.
Там в редакторе меню выбрать в какой позиции выводить это меню. (Область отображения)
Убрать menu_id.
Ниже пример для 99% случаев:
register_nav_menus([
'top' => 'Верхнее',
]);
wp_nav_menu([
'theme_location' => 'top',
'container'=> false,
'menu_class' => 'nav ',
'menu_id' => '',
'fallback_cb' => false
]);
Нужно понимать что выводится не меню а его позиция, через админку указывается связь, позиции и меню. в wp_nav_menu() можно указать какое именно надо, в документации описан приоритет.
А это решение для остального процента:
## Добавление стилей для стандартного меню
add_filter('nav_menu_css_class', 'add_menu_list_item_class', 1, 3);
function add_menu_list_item_class($classes, $item, $args) {
if (property_exists($args, 'li_class') && !$item->menu_item_parent) {
$classes[] = $args->li_class;
}
if (property_exists($args, 'li_child_class') && $item->menu_item_parent) {
$classes[] = $args->li_child_class;
}
return $classes;
}
add_filter( 'nav_menu_link_attributes', 'add_menu_link_class', 1, 3 );
function add_menu_link_class( $atts, $item, $args ) {
if ( strpos( $atts['href'], home_url() ) === false ) {
$atts['target'] = '_blank';
}
if (property_exists($args, 'a_class') && !$item->menu_item_parent) {
$atts['class'] = $args->a_class;
}
if (property_exists($args, 'a_child_class') && $item->menu_item_parent) {
$atts['class'] = $args->a_child_class;
}
return $atts;
}
add_filter( 'nav_menu_submenu_css_class', 'my_nav_menu_submenu_css_class', 1, 3);
function my_nav_menu_submenu_css_class($classes, $args, $depth) {
if (property_exists($args, 'ul_child_class')) {
$classes[] = $args->ul_child_class;
}
return $classes;
}
wp_nav_menu([
'theme_location' => 'bottom',
'container'=> false,
'menu_class' => '',
'menu_id' => '',
'fallback_cb' => false,
'a_class' => '',
'a_child_class' => '',
'li_class' => '',
'li_child_class' => '',
'ul_child_class' => '',
]);