Как сделать меню в WordPress

Как сделать меню в WordPress

24 сентября 2019 WordPress

Если возникла необходимость создать ещё один тип меню, добавить класс или другие опции к уже существующему меню, или вы разрабатываете тему для WordPress с нуля, то эта статья как раз для вас. Рассмотрим как создать 2 типа меню: верхнее и боковое, и каким образом можно их настроить и вывести на сайте.

Содержание

Регистрация меню

Регистрируем 2 типа меню. В файле functions.php добавляем следующий код:

register_nav_menus(array(
	'top'  => 'Верхнее меню', // идентификатор меню и название
	'side' => 'Боковое меню'
));

Создание меню

Теперь в разделе Внешний вид → Меню можно создать наши меню. Во вкладке управление областями нужно указать соответствия меню и их областей. Система управления отелем здесь

Добавляем пункты меню и сохраняем.

Вывод меню в шаблоне

Чтобы вывести меню добавляем в нужном месте шаблона функцию wp_nav_menu()с указанием идентификатора меню в параметре theme_location. Если на сайте используется только одно меню, то этот параметр можно не указывать.

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

Указываем класс для меню с помощью параметра menu_class:

 <?php wp_nav_menu('menu_class=main&theme_location=top');?>

Параметры меню

Обычно достаточно задать класс и указать идентификатор, но если вам понадобятся более гибкие настройки, то можно воспользоваться и другими параметрами функции для вывода меню. Вот их полный список с примером:

wp_nav_menu( array(
	'menu'            => '', // (string) название выводимого меню (указывается в админке при создании меню, приоритетнее, чем указанное местоположение theme_location - если указано, то параметр theme_location игнорируется)
	'container'       => 'div', // (string) контейнер меню. Обёртка ul. Указывается тег контейнера (по умолчанию тег div)
	'container_class' => '', // (string) class контейнера (div тега)
	'container_id'    => '', // (string) id контейнера (div тега)
	'menu_class'      => 'menu', // (string) class самого меню (ul тега)
	'menu_id'         => '', // (string) id самого меню (ul тега)
	'echo'            => true, // (boolean) выводить на экран или возвращать для обработки
	'fallback_cb'     => 'wp_page_menu', // (string) используемая (резервная) функция, если меню не существует (не удалось получить)
	'before'          => '', // (string) текст перед <a> каждой ссылки
	'after'           => '', // (string) текст после </a> каждой ссылки
	'link_before'     => '', // (string) текст перед анкором (текстом) ссылки
	'link_after'      => '', // (string) текст после анкора (текста) ссылки
	'depth'           => 0, // (integer) глубина вложенности (0 - неограничена, 2 - двухуровневое меню)
	'walker'          => '', // (object) класс собирающий меню. Default: new Walker_Nav_Menu
	'theme_location'  => '' // (string) расположение меню в шаблоне. (указывается ключ которым было зарегистрировано меню в функции register_nav_menus)
) );

Дополнительные параметры

Это ещё не все. В админ-панели можно включить поле для добавления кастомного класса для каждого пункта меню. Иногда может пригодиться. Для этого в разделе Внешний вид → Меню на верхней панели «Настройки экрана» ставим галочку «Классы CSS».

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Перенос сайта на WordPress на другой домен

В повседневной работе часто приходится сталкиваться с переносом сайта на Wordpress с локального или тестового домена на основной. Для этого необходимо не только скопировать файлы, базу данных и поменять настройки в конфигурационном файле, но и сделать ряд SQL-запросов, чтобы прописать Читать далее

Правильный файл robots.txt для WordPress 2019

Самый оптимальный и простой код файла robots.txt для вашего сайта на WordPress, который подойдет для всех поисковиков. Этот вариант использую на данном сайте. Не забудьте заменить maindot.ru на адрес вашего сайта. Содержание файла robots.txt для WordPress Если вы используете HTTPS, Читать далее

Произвольные типы записей WordPress

Произвольные типы записей позволяют разделить посты не только по категориям, но и по их типу с собственными названиями и рубриками. Это что-то типо инфоблока, как в CMS 1С-Битрикс. По умолчанию в WordPress есть возможность добавлять записи и их рубрики. К Читать далее

Произвольные поля WordPress

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

Создание плагина WordPress с нуля

Когда я создавал свой первый плагин, то оказалось, что в сети очень мало информации по этому вопросу. С трудом удалось найти даже основы. Надеюсь эта статья поможет вам научиться писать различные плагины для WordPress. Наверняка вы уже пользовались и знаете, Читать далее

WordPress Ajax

По большей части публикации про применение Ajax в WordPress сложные для понимания, особенно если вы мало знакомы с этой технологией. В этой статье я покажу, как на самом деле просто использовать Ajax в публичной части сайта. Ajax запросы в WordPress Читать далее

WordPress подгрузка постов кнопкой показать еще или бесконечным скроллом

Кнопка "Показать ещё" и бесконечный скроллинг - это по сути постраничная навигация, которая подгружает следующую страницу с постами без перезагрузки страницы. Подобные примеры часто можно встретить в лентах соц. сетей. В этом примере показана реализация кнопки "Показать ещё" и бесконечного Читать далее

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