Вставить другое меню в WordPress вообще не работает?

Я следую этому руководству, чтобы «Добавить дополнительную поддержку меню в вашу тему»:

http://codex.wordpress.org/Navigation_Menus

Я выполнил все шаги, но вот результат:

http://puu.sh/30bMt.png

Итак, это «вставка меню» туда, куда я сказал… однако элементы в меню не совпадают с тем, что у меня есть в админке WordPress, как видно здесь…

http://puu.sh/30bQd.png

Я вставил только 4 элемента в меню «Тест»… но он отображает каждую страницу вместо 4 элементов, которые я хочу.

Я пытался провести исследование, чтобы выяснить, что происходит, но безрезультатно; есть ли у кого-нибудь понимание, почему это действует фанки?


Код, где я "регистрирую" дополнительную поддержку меню... (темы function.php):

function register_my_menus() {
  register_nav_menus(
    array(
      'header-menu' => __( 'Header Menu' )
    )
  );
}
add_action( 'init', 'register_my_menus' );

Код, в который я вставляю само "Меню заголовка"... (темы header.php):

<?php
wp_nav_menu( array( 'theme_location' => 'extra-menu', 'container_class' =>'my_extra_menu_class' ) );
?>

person Samuel Stiles    schedule 24.05.2013    source источник


Ответы (1)


Если вы пытаетесь вызвать «Меню заголовка», тогда код в вашем header.php должен выглядеть так:

<?php wp_nav_menu(array('theme_location' => 'header-menu', 'menu_class' => 'my_extra_menu_class')); ?>

Я не уверен, откуда вы взяли «дополнительное меню», но WordPress не знает, что это такое, поскольку вы не объявили это в своей функции register_my_menus.

Надеюсь, это поможет.

Вот пример того, как я реализовал несколько меню в своей установке WordPress:

// Register Extra Menus
function new_register_menus() {
register_nav_menus(array('Products'=>'Products Nav', 'Support'=>'Support Nav', 'Company'=>'Company Nav' , 'Footer'=>'Footer Nav'));
} 
add_action( 'init' , 'new_register_menus' );

//Code in my footer.php
<?php wp_nav_menu(array('theme_location' => 'Footer', 'menu_class' => 'nav')); ?>
person ReLeaf    schedule 24.05.2013