2014-12-02 2 views
0

Я пытаюсь выплюнуть это меню в шаблоне на каждой странице, в header.php файле моей темы в:Почему мое пользовательское меню не отображается в Wordpress?

enter image description here

Примечания: Тема поставляется с 3 местом для меню, но я буду использовать их для различные меню, поэтому я не могу использовать эти ранее существующие местоположения.

Я пытался зарегистрировать его в functions.php с помощью этого:

function register_my_menu() { 
     register_nav_menu('utility-menu',__('Utility')); 
} 
add_action('init', 'register_my_menu'); 

Это регистрирует его, var_dump(get_registered_nav_menus()); возвращается:

array(4) { 
    ["menu-header"]=> 
    string(11) "Menu Header" 
    ["menu-top"]=> 
    string(8) "Menu Top" 
    ["wpv-push-menu"]=> 
    string(9) "Push Menu" 
    ["utility-menu"]=> 
    string(7) "Utility" 
} 

Но это не похоже, чтобы связать его. Очевидно, я делаю неправильно, так кто-то может указать, что я не понимаю? Я хочу знать, как правильно правильно выбрать это меню.

wp_nav_menu(array('name' => 'Utility')); 
wp_nav_menu(array('theme_location' => 'utility-menu')); 

Кажется, тянуть в другом меню.

ответ

1

Вы должны зарегистрировать свое меню во время after_setup_theme, а не init.

add_action('after_setup_theme', 'register_my_menu'); 
function register_my_menu(){ 
    register_nav_menu('utility-menu', 'Utility Menu'); 
} 

Затем на ваше меню администратора, убедитесь, чтобы назначить любое меню, которое вы хотите в меню Utility (вы увидите его в разделе Настройки меню с помощью меню заголовка, меню и т.д. Top

После выполнения эти две вещи, вы назовете это так, как вы это делали во втором примере:

wp_nav_menu(array(
    'theme_location' => 'utility-menu' 
)); 
+0

Отлично. Спасибо. –

Смежные вопросы