2013-10-08 4 views
0

Я создаю тему для своего блога WordPress, я-структуру на код для отображения пользовательских менюне wp_nav_menu работает WordPress

в моей functions.php я писал:

function register_my_menus(){ 
register_nav_menus(
    array('menu-1' => __('Primary Menu'), 
    ) 
); 
} 

add_action('init', 'register_my_menus'); 

это мой header.php

if (has_nav_menu($location)) { 
    wp_nav_menu(array('theme_location' => 'menu-1')); 
} 

проблема заключается в том, что когда я устанавливаю меню от WordPress для первичного меню, меню не отображает, а также содержание после того, как меню не отображается, пожалуйста, помогите мне, где я не прав

+0

register_nav_menus используется для несколько меню, используйте register_nav_menu –

ответ

1

Вы использовали команду has_nav_menu() по внешнему виду, скопированную/вставленную из Codex без указания ее параметра. Попробуйте это:

Вместо

if (has_nav_menu($location)) { 
    wp_nav_menu(array('theme_location' => 'menu-1')); 
} 

это:

if (has_nav_menu('menu-1')) { 
    wp_nav_menu(array('theme_location' => 'menu-1')); 
} 

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

+0

я заметил, что эта проблема связана с каждой темой, так что мне нужно смотреть другой код для решения проблемы –

+0

Извинения за потенциально глупый вопрос, но, является ли меню пустым или неназначенным? –

1

Привет Мандип Singh вы назначаете меню для основного меню в WordPress админ панель

+0

Спасибо. В моем случае это было так странно, мне пришлось нажать кнопку «добавить меню» в бэкэнд. Хотя меню уже было определено, включая пункты меню. Впоследствии я мог выбрать «Primary». Теперь фильтры темплейтов, как «wp_nav_menu», неожиданно работают так, как ожидалось. – Floris

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