/ Wordpress / wp_nav_menu

wp_nav_menu

08.04.2023

809

Данная функция wordpress отвечает за вывод меню. Рассмотрим параметры этой функции.

Вывод без дополнительных параметров:

<?php wp_nav_menu( array( 'theme_location' => 'top-menu' ) ); ?>

В этом случае классы меню и контейнера будут взяты из названия меню

<div class="menu-main-menu-container"><ul id="menu-main-menu" class="menu">

Все аргументы функции:

wp_nav_menu( [
	'theme_location'  => '',
	'menu'            => '',
	'container'       => 'div',
	'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'          => '',
] );

Из того что может пригодится на практике — container_class. Можно задавать разные классы для разных стилей меню. Например горизонтальное меню: h_menu, вертикальное меню: v_menu.

Удалить из меню теги ul li

<?php $params = array(
    'theme_location' => 'top-menu',
	'menu_class' => 'menu h_menu',
    'echo' => false,
    // 'items_wrap' => '%3$s',
);

echo strip_tags(wp_nav_menu($params), array('<a>', '<div>')); ?>

Навигация по странице

Если мы добавляем пункты меню для навигации по странице то они будут реализованы в виде Произвольных ссылок с URL #offers. Но если сайт не одностраничный, то нужно к URL добавлять /#offers чтобы можно было попасть на этот блок из других страниц. Но у этого есть 2 негативных момента.

  1. Навигация по странице будет осуществляться не плавно а мгновенно.
  2. WordPress ссылки с / вначале будут расценены как current_menu_item и у первого пункта меню будет удален href и пункт не будет работать.

Поэтому в этом случае лучше создавать 2 версии меню: для главной страницы и для остальных страниц. Либо, как вариант, добавлять невидимые первый пункт меню, у которого будет удаляться href.

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Scrollspy jquery

Scrollspy jquery

Скрипт scrollspy jquery отслеживающий положение скрола, в котором мы находится в данный момент. Чаще всего это используется для изменения состояния меню, изменение фона, а также для каких-либо событий. Подключение скрипта Читать далее »

/
Добавление кнопки more при узком меню

Добавление кнопки more при узком меню

Если пункты меню не вмещаются в его заданную ширину, то их можно спрятать в кнопку more. Вариант 1 Работает в целом неплохо. Но если именно придираться, то при изменении размера Читать далее »

Автоматическое меню, оглавление, измененное состояние меню

Автоматическое меню, оглавление, измененное состояние меню

Меню с изменяемым состоянием может применяться для различных задач, в т.ч. для меню лэндинга или для оглавления длинной страницы. Такое меню состоит из хэш-ссылок для перемещения по самой странице. Смысл Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

wp_nav_menu wp_nav_menu
Предыдущие / следующие записи
Рекомендации для васПредыдущие / следующие записиOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.