Wordpress дочерняя тема, добавление дополнительного меню - PullRequest
3 голосов
/ 23 января 2011
    <?php
    if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );
    } else {
    ?>

Я пытаюсь добавить дополнительное меню из меню управления Wordpress в моей functions.php моей дочерней темы для Woothemes Canvas .Я думаю, что есть способ добавить его в массив выше, но я не могу заставить его работать.Мысли? * * 1005

Ответы [ 2 ]

5 голосов
/ 24 января 2011

Джейсон, сначала нужно зарегистрировать свое «новое» (вторичное) меню с помощью register_nav_menu (), например:

add_action( 'init', 'register_my_menu' );

function register_my_menu() {
    register_nav_menu( 'secondary-menu', __( 'Secondary Menu' ) );
}

Вы делаете это в файле functions.php вашей темы.

Тогда вы можете вызвать это меню в ваших файлах шаблонов. Чтобы использовать свой код выше, вы, вероятно, захотите что-то вроде:

if ( function_exists('has_nav_menu') && has_nav_menu('secondary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
    }

или, может быть

if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') && has_nav_menu('secondary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );

        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
    }

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

0 голосов
/ 30 октября 2013

Но в моем случае я не использовал действие init, просто поместил функцию регистрации меню в файл function.php моей дочерней темы

register_nav_menu( 'footer', 'Footer Menu' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...