В состоящем релизе платформы WordPress версии 3.0 было добавлено много нововведений, в том числе управление навигационным меню. Это позволяет создавать произвольное меню, добавлять элементы (страницы, категории, записи) в желаемом порядке без необходимости редактировать исходный код. То есть вам становится доступным полное управление меню через администраторскую зону. Обо всех деталях и возможностям мы рассмотрим в этой статье.
Поддержка произвольного меню
Вначале, перед последующими действиями, нужно проверить вашу тему на поддержку управления произвольного меню. Хоть времени от выпуска релиза прошло 6 лет (2010) и по идее в каждой теме уже должно присутствовать отвечающие функции. Но бывают исключения, и чтобы убедиться в поддержки, перейти в раздел «Внешний вид-Меню». Если обнаружите следующею надпись:
Следовательно, тема лишена такой прекрасной возможности. Для исправления нам понадобится лишь добавить такую строку add_theme_support( ‘menus’ ); в файле functions.php . Или зарегистрировать свое меню также через этот файл и поддержка включается автоматически.
После добавления этого кода у вас в разделе «Меню», конфигурация «Настройки меню» появится новый параметр «Область темы Top Menu».
Детали управления произвольного меню
Управление в общей сложности не должно вызвать затруднений, тем более там присутствуют подсказки. Но чтобы наверняка во всем разобраться, устроим экскурсию по параметрам. Для начала включим все дополнительные свойства меню.
Ну вот, теперь активированы все возможности и можно приступать к делу. Схема такая: сначала идет скриншот с ярлыками в виде цифр, затем следует объяснение по убыванию.
- Главная вкладка управления. Здесь можно совершать все действия без необходимости переключения на вкладку «Управление областями».
- Если было создано несколько меню, то здесь в виде выпадающего списка будет полный перечень, из которого можно выбрать какое именно меню отредактировать. Рядом расположена ссылка «создать новое меню», при клике на нее откроется поле ввода для названия. Не забывайте нажимать кнопку «Сохранить меню» после внесения изменений.
- В боковой части расположены элементы «Страницы, Произвольные ссылки, Рубрики, Записи, Формат», которые доступны для добавления в меню. В первом и последнем виджете схема добавления аналогичная: ставятся галочки на нужные элементы, затем нажимается кнопка «Добавить…». Вкладка «Произвольная ссылка» – это любой адрес веб-страницы или сайта, прописывается URL и текст ссылки.
- В структуре меню находятся все добавленные вами элементы. Также присутствуют дополнительные параметры, а именно:
Классы CSS – возможность добавить любой класс к определенному пункту меню. С примером использования можно ознакомиться здесь.
Описание к ссылке (XFN) – дополнительный атрибут ссылке, позволяющий указать статус ресурса, на который вы ссылаетесь. Официальная инфа .
Как создать свое меню в WordPress и вывести его в любом месте
В закрепление выше написанного материала рассмотрим практичный пример создания своего меню и вывода его на сайт. Разобьём действия на четыре шага, так будет проще разобраться и избежим путаницы.
Шаг 1-й. Регистрируем меню
Открываем файл functions.php и в самом низу, перед знаком ?> , добавляем такой фрагмент кода:
Этим кодам мы регистрируем два новых меню в текущей теме. Одно ориентированное как главное (header), второе расположим внизу сайта (footer).
Шаг 2-й. Место вывода
На втором шаге обозначим область вывода меню с помощью функции wp_nav_menu() . Первое добавим в файл header.php после всех функций, а второе в файл footer.php .
Шаг 3-й. Оформление
Теперь нужно прописать стили, чтобы все пункты меню были стилизованы, и внешний вид был корректен.
Шаг 4-й. Меню в админ-зоне
После выше проделанной нами работы, останется создать меню и добавить необходимые элементы. Переходим в раздел «Внешний вид — Меню», пишем название меню в поле ввода «Название меню» (любое, это для себя). В левой колонке выбираем какие элементы добавить (страницы, рубрики и т.д.). Внизу «Область темы» ставим галочку напротив «Верхнее меню» и жмем кнопку «Сохранить меню».
Вот и все, можно будет посмотреть результат. Насчет нижнего меню, то там точно также, только область темы выбрать другую.
Широко известно, что в WordPress 3.0 добавлена поддержка произвольных меню (настраиваемых меню). Вещь, на мой взгляд, крайне удобная и полезная. Собственно, отсюда и эта статья.
Удобство заключается в том, что теперь можно создавать и конфигурировать меню прямо из админки, добавляя ссылки кликами по чекбоксам и меняя порядок ссылок простым перетаскиванием. В меню можно добавить ссылки на страницы, категории и отдельные посты. Можно создавать многоуровневые меню, так же в меню можно добавлять свои произвольные ссылки, о которых WordPress не знает. В общем, полная свобода действий.
Однако, чтобы такая "свобода" была доступна, нужно, скажем так, легким движением мышки, настроить вывод произвольного меню в шаблон.
Использовать такие меню будет крайне удобно, если пользоваться мультисайтовой возможностью WordPress, потому что для разных сайтов можно будет настраивать разные меню, а шаблон для них использовать один.
Заметка: меню работает через таксономию (nav_menu) WordPress, а произвольные (внешние) ссылки, записываются в основную таблицу БД posts. Такой подход более гибкий и динамичный, однако требует постоянной генерации таких меню.
Видео по меню в WordPress
После того, как меню зарегистрированы, идем в админку и создаем свои меню (в данном примере 2 менюшки):
Задаем название меню (меню в шаблоне можно выводить по указанному названию, функцией wp_nav_menu()
Создаем пункты меню. Используем левый блок: страницы ссылки, рубрики
Поддержка произвольных меню в WordPress включается для каждой темы отдельно, такой строчкой в файле functions.php add_theme_support(‘menus’); Однако, в этой строчке нет необходимости, если мы регистрируем меню. В этом случаем поддержка будет включена автоматически.
Вывод произвольных меню через функцию wp_nav_menu
Меню зарегистрированы и созданы, осталось добавить их в шаблон. Делается это функцией wp_nav_menu(), которая может принимать следующие параметры:
В данном примере в шаблон нужно вставить примерно (зависит от необходимых вам параметров) такие, 2 кода:
#1. Вывод меню по расположению
Верхнее меню. Вставляем в шапку шаблона (header.php), там где будет выводится верхнее (top) меню:
Выведет созданное в админке меню, прикрепленное к расположению “Верхнее меню” с подобной структурой:
Нижнее меню. Вставляем в подвал шаблона (footer.php), там где будет выводится нижнее (bottom) меню:
Выведет созданное в админке меню, прикрепленное к расположению “Нижнее меню”. Структура будет идентичная первой.
Обратите внимание, в первом варианте параметры были переданы через массив (array). Во втором через строку. Оба варианта правильны. Это обычное дело для функций WordPress – параметры можно передавать как массивом, так и строкой (строка потом преобразовывается в массив).
#2 Выводим меню по названию
Чтобы вывести меню по его названию можно воспользоваться аргументом ‘menu’. Название указывается, то которое было задано при создании меню в админке. В нашем примере (см. картинку) “Главное меню”. Аргумент menu обладает большим приоритетом чем theme_location , а значит, если мы выводим по названию, то параметр theme_location будет игнорироваться.
Можно указать ID меню, а не название. Так, при изменении названия меню, код останется рабочим. ID меню можно посмотреть в УРЛ во время редактирования меню:
Уберем обертку Div
Вы наверное обратили внимание, что меню “оборачивается”, часто, ненужным тегом div. Его можно удалить, указав в аргументах для функции wp_nav_menu() пустой параметр ‘container’=>” .
Изменяем параметры по умолчанию
Чтобы постоянно не указывать один и те же параметр для вставляемых меню, их можно переопределить в functions.php . Делается это через фильтр wp_nav_menu_args :
По аналогии, можно создать свои аргументы по умолчанию: $args[‘аргумент’] = ‘значение’ .
Проверка зарегистрировано ли меню
В WordPress так же есть, функция условия: has_nav_menu(‘top’) – проверяет было ли зарегистрировано расположение меню top . Если меню не указано, то функция wp_nav_menu() сработает, как wp_list_pages() , но “обворачиватель” div останется, несмотря на то что в аргументах мы его убрали. Решить эту проблему можно так:
Из всех передаваемых аргументов, непонятным является walker. Для тех, кто хочет разобраться для чего он нужен, читайте раздел в описании функции wp_nav_menu(). Там коротко и ясно описан принцип. Если очень коротко, то с его помощью можно внедриться в процесс генерации меню и изменить его как угодно.
Включение доп. параметров у меню
Меню можно настроить, например, можно добавить возможность указывать CSS класс для элемента меню, для ссылки меню. Для этого откройте вкладку «Настройки экрана»:
Удобных вам менюшек
Здравствуйте, друзья! В этом небольшом уроке мы поговорим о том, как создать некликабельный (без ссылки) пункт в меню в WordPress.
Сделать его можно очень просто и без особых усилий. Для примера давайте сделаем выпадающее меню, родительский элемент которого будет некликабельным. И так, начнем!
Как создать пункт меню без ссылки в WordPress
1. Переходим с административного меню в Внешний вид -> Меню.
2. В правом верхнем углу нажимаем кнопку «Настройки экрана» и ставим галочку на «Произвольные ссылки».
После этого в колонке с разрешенными для добавления элементами меню появится новая вкладка — «Произвольные ссылки».
3. Нажмите по вкладке «Произвольные ссылки». В «URL» укажите символ #, а в «Текст ссылки» — текст для Вашего пункта меню. После этого нажмите кнопку «Добавить в меню».
4. Установите созданный пункт меню так, как Вам нужно и нажмите кнопку «Сохранить меню».
Как видите, сложного совершенно ничего нету. Для создания пункта меню без ссылки не нужны никакие плагины и особые умения, все можно сделать с помощью стандартных возможностей WordPress.
Напоминаю, в случае если у Вас возникают вопросы или что-то не получается — смело пишите в комментариях.
“>