Почему аргумент container не работает в wp_nav_menu()
6 февр. 2015 г., 09:44:12
Просмотры: 920
Голосов: 0
Следующий код выводит меню, но тег контейнера <nav>
отсутствует.
$menu_settings = array(
'menu' => 'Packages',
'container' => 'nav', // Указываем контейнер nav
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>', // Обертка для элементов меню
'depth' => 0,
'walker' => '',
'theme_location' => 'primary' // Местоположение меню в теме
);
?>
<?php wp_nav_menu( $menu_settings ); ?>
Меню зарегистрированы в functions.php:
register_nav_menus( array(
'primary' => __( 'Packages Menu', 'nameoftheme'), // Основное меню "Пакеты"
'secondary' => __( 'Services Menu', 'nameoftheme' ), // Дополнительное меню "Услуги"
) );
В результате выводится только <ul>
с пунктами меню. Элементы списка также не обернуты.

codecowboy
1.78K
Комментарии
Все ответы на вопрос
1
1
Поскольку я использую фреймворк темы roots, эта строка удаляет аргумент container:
function roots_nav_menu_args($args = '') {
$roots_nav_menu_args = array();
$roots_nav_menu_args['container'] = false;
if (!$args['items_wrap']) {
$roots_nav_menu_args['items_wrap'] = '<ul class="%2$s">%3$s</ul>';
}
if (!$args['depth']) {
$roots_nav_menu_args['depth'] = 2;
}
return array_merge($args, $roots_nav_menu_args);
}
add_filter('wp_nav_menu_args', 'roots_nav_menu_args');

codecowboy
1.78K
6 февр. 2015 г. 13:09:53
Похожие вопросы
1
ответов
2
ответов