/ Wordpress / wp_nav_menu

wp_nav_menu

HIT

08.04.2023

1063

Данная функция 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]
  • Похожие записи
  • Комментарии
  • Вложения
Мобильное меню типа mmenu

Мобильное меню типа mmenu

Адаптируем меню под мобильную версию сайта. При этом необходимо учитывать особенности небольших экранов и конфигурировать под них структуру и стили меню. Функционал mmenu.js Подключаем стили и скрипты: <link rel="stylesheet" href="http://opttour.ru/wp-content/themes/tester/jquery.mmenu.css" Читать далее »

/
Scrollspy jquery

Scrollspy jquery

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

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

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

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

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

Notice: Функция WP_Styles::add вызвана неправильно. Стиль с дескриптором "editor-buttons" был поставлен в очередь с незарегистрированными зависимостями: dashicons. Дополнительную информацию можно найти на странице «Отладка в WordPress». (Это сообщение было добавлено в версии 6.9.1.) in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6131

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

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