Удалить <div>оболочку из вывода wp_nav_menu - PullRequest
4 голосов
/ 10 октября 2011

Я пытаюсь удалить оболочку из функции wp_nav_menu ().

Я передал container => false массиву аргументов и добавил хук в мой functions.php, но он все еще показывает оболочку.

function my_wp_nav_menu_args( $args )
{
    $args['menu'] = false;
    $args['menu_class'] = false;
    $args['container'] = false;
    $args['container_class'] = false;
    $args['show_home'] = true;

    return $args;
}

Есть идеи почему?

Ответы [ 3 ]

4 голосов
/ 10 октября 2011

Чтение кодекса: Справочник по функциям / меню wp nav

Возможно, вам потребуется установить расположение темы в файле functions.php, а затем назначить ему свое меню?

Это то, что сказано в кодексе:

Чтобы удалить контейнер навигации, местоположение темы указывается в functions.php и используется среди аргументов в функции wp_nav_menu (например, 'theme_location' =>'primary-menu') должен иметь меню, назначенное ему в администрации!Иначе аргумент 'container' => 'false' игнорируется.

Если вам нужно зарегистрировать местоположение, вы можете использовать следующее:

// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
    'primary' => __( 'Primary Navigation', 'Your_Theme' ),
) );

Затем передать его в wp_nav_menu() функция

wp_nav_menu( array( 'theme_location' => 'primary', 'container' => false ) );

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

0 голосов
/ 12 марта 2019
wp_nav_menu(array(
    'container' => '',
    'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
    'theme_location' => 'footer-1',
));

Существующее меню должно быть связано с вашим местоположением (в моем примере 'footer-1'), в противном случае всегда есть div-обертка.

0 голосов
/ 08 августа 2018

Я думаю, что логический тип данных не доступен для этих параметров, пожалуйста, прочитайте это Справочник по функциям / wp nav menu

Так что лучший способ удалить эту упаковку div замените ее на ul, как в этом примере

wp_nav_menu( array(
  'menu' => 'header-nav_menu',
  'theme_location'    => 'header-nav_menu',
  'container'         => 'ul', //To replace div wrapper with ul 
  'menu_class'        => 'YOUR CLASS'//Add classes to your ul
 )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...