/ Wordpress / wp_nav_menu

wp_nav_menu

08.04.2023

746

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

Прилепленное меню

Делаем шапку сайта (включающую логотип, меню и контакты) прилепленной к верхнему краю экрана, при перемотке сайта вниз. Оборачиваем необходимый для «прилеплевания» блок в div id=»stick_menu». В данном сайте верстка такая: Читать далее »

Вертикальное многоуровневое меню

Вертикальное многоуровневое меню

Создадим вертикальное многоуровневое меню. За основу берем верстку стандартного меню WordPress. Условно у меню будет id menu. Стили:

Шапка при прокрутке вверх

Шапка при прокрутке вверх

Делаем шапку, которая скрывается при прокрутке вниз и появляется при прокрутке вверх. Верстка и стили header нужно добавить class=»nav-down». Особенность стилей в том, что header должен быть fixed, a body Читать далее »

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

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

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