Как настроить стиль меню навигации в WordPress. Горизонтальное выпадающее меню Супер плагин WordPress Мега плагин Max Mega Menu

Широко известно, что в WordPress 3.0 добавлена поддержка произвольных меню (настраиваемых меню). Вещь, на мой взгляд, крайне удобная и полезная. Собственно, отсюда и эта статья.

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

Однако, чтобы такая "свобода" была доступна, нужно, скажем так, легким движением мышки, настроить вывод произвольного меню в шаблон.

Использовать такие меню будет крайне удобно, если пользоваться мультисайтовой возможностью WordPress, потому что для разных сайтов можно будет настраивать разные меню, а шаблон для них использовать один.

Заметка: меню работает через таксономию (nav_menu) WordPress, а произвольные (внешние) ссылки, записываются в основную таблицу БД posts. Такой подход более гибкий и динамичный, однако требует постоянной генерации таких меню.

Register_nav_menus(array("top" => "Верхнее меню", //Название месторасположения меню в шаблоне "bottom" => "Нижнее меню" //Название другого месторасположения меню в шаблоне));

Сейчас мы зарегистрировали 2 меню с идентификаторами " top " и " bottom " с соответствующими им названиями. Идентификаторы нужны, чтобы использовать их в теме, для указания того места, где, через функцию вывода wp_nav_menu() , будет выводиться созданное в админке меню. Названия зарегистрированных расположений мы увидим в админке, когда зайдем в раздел Внешний вид -> Меню.

После того, как меню зарегистрированы, идем в админку и создаем свои меню (в данном примере 2 менюшки):

    Задаем название меню (меню в шаблоне можно выводить по указанному названию, функцией wp_nav_menu()

    Создаем пункты меню. Используем левый блок: страницы ссылки, рубрики

  1. Выбираем где будет расположено меню, так как мы зарегистрировали 2 менюшки, у нас будет 2 варианта: "Верхнее меню" и "Нижнее меню".

Поддержка произвольных меню в WordPress включается для каждой темы отдельно, такой строчкой в файле functions.php add_theme_support("menus"); Однако, в этой строчке нет необходимости, если мы регистрируем меню. В этом случаем поддержка будет включена автоматически.

Вывод произвольных меню через функцию wp_nav_menu

Меню зарегистрированы и созданы, осталось добавить их в шаблон. Делается это функцией wp_nav_menu() , которая может принимать следующие параметры:

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) Текст перед каждой ссылки "after" => "", // (string) Текст после каждой ссылки "link_before" => "", // (string) Текст перед анкором (текстом) ссылки "link_after" => "", // (string) Текст после анкора (текста) ссылки "depth" => 0, // (integer) Глубина вложенности (0 - неограничена, 2 - двухуровневое меню) "walker" => "", // (object) Класс собирающий меню. Default: new Walker_Nav_Menu "theme_location" => "" // (string) Расположение меню в шаблоне. (указывается ключ которым было зарегистрировано меню в функции register_nav_menus)));

В данном примере в шаблон нужно вставить примерно (зависит от необходимых вам параметров) такие, 2 кода:

#1. Вывод меню по расположению

Верхнее меню. Вставляем в шапку шаблона (header.php), там где будет выводится верхнее (top) меню:

"menu", "theme_location"=>"top", "after"=>" /")); ?>

Выведет созданное в админке меню, прикрепленное к расположению "Верхнее меню" с подобной структурой:

Нижнее меню. Вставляем в подвал шаблона (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:

Register_nav_menus(array("top" => "Верхнее меню", "bottom" => "Нижнее меню")); add_filter("wp_nav_menu_args", "my_wp_nav_menu_args"); function my_wp_nav_menu_args($args=""){ $args["container"] = ""; return $args; }

По аналогии, можно создать свои аргументы по умолчанию: $args["аргумент"] = "значение" .

Проверка зарегистрировано ли меню

В WordPress так же есть, функция условия: has_nav_menu("top") - проверяет было ли зарегистрировано расположение меню top . Если меню не указано, то функция wp_nav_menu() сработает, как wp_list_pages() , но "обворачиватель" div останется, несмотря на то что в аргументах мы его убрали. Решить эту проблему можно так:

If (has_nav_menu("top")){ wp_nav_menu(array("container" => "", "theme_location" => "top", "menu_class" => "menu")); } else { echo "

"; }

    Это можно сделать с помощью стилей.
    Но вам нужно понимать, что у вас Меню тогда необходимо переместить из верхней части в Сайдбар, которого у вас пока нет.
    Ну то есть, если эта Тема позволяет, подключайте с правой стороны Сайдбар и переносите в него Меню.
    А чтобы оно было вертикальным, достаточно добавить / изменить CSS

    Main-navigation ul li, .secondary-navigation ul li { display: block !important; }

    Ну там еще после этого немного нужно поменять отступы и прочие свойства.

    Возможно я Вас неправильно понял, но у меня Max mega menu уже находится в области левой колонки (оно черного цвета, выстроилось в 2 строки из за обраниченности области, а так оно по умолчанию в плагине горизонтальное), добавил туда через виджеты, в верхней части у меня стандартное меню темы и они мне оба нужны, сейчас попробую CSS, спасибо

    Возможно, что я тоже не совсем правильно вас понял.
    Я говорил о меню, которое у вас на скрине в горизонтальном верхнем блоке салатового цвета «Чай Кофе Сладости…»
    Но перечитав ваш ответ, понимаю, что мы говорим о разных меню.
    На скрине у вас вижу в левой части это самое Max mega menu, но не вижу его на сайте по вашей ссылке.
    И т.к. не видел его и вчера, то на скрин и не смотрел.
    Сейчас также не наблюдаю.

    Пытаюсь что-то сделать постоянно, разное ставлю и убираю, пока не понял как это меню сделать вертикальным, ищу другое подходящее. Для этого меню такое же решение с помощью css можно применить как Вы написали? Вы не могли бы подсказать, в какую именно часть кода вставить данные строки, в код самого плагина? Расположение имеет значение?
    Зашел Плагины-редактировать-выбрал Max mega menu, дальше есть такие разделы:
    css
    megamenu.scss
    reset.scss
    toggle-blocks.scss
    admin
    mixin.scss
    Ни в одном из них не нашел подобных строк, чтобы исправить

    Я просто совсем нуб и не понял, зачем Вам нужно, чтобы у меня оно отображалось, видимо чтобы код посмотреть и подсказать. Нашел в форуме поддержки Max Mega Menu ответ админа, что вертикальное доступно только в Про (платной) версии, поэтому от него пока что придется отказаться. Не могли бы Вы пожалуйста посоветовать какой-либо аналогичный плагин, критерии такие:
    — возможность установить в сайдбар
    — меню должно быть выпадающим
    — при переходе на какую-либо из категорий, чтобы оно оставалось открытым на данном этапе, а не закрывалось полностью с обновлением страницы

    Именно так.
    Не видя это самое Меню — невозможно давать советы и рекомендации. Возможно, что достаточно пары строчек в CSS. Но не факт.

    Хотя, если вы действительно планируете использовать это Max Mega Menu раскрывая все его возможности, то за такой продукт 23 доллара — совсем не много. Оно того стоит.

Mega Main Menu это плагин для быстрого создания меню для wordpress. Оно имеет особые функции, которые облегчают работу на нем.

  • Липкое и выпадающие меню, значки, логотип и поиск.
  • Разнообразные цвета. Причем можно изменить цвет любой опции в меню. Кроме цветов используются также градиенты, фоновые рисунки и изображения.
  • Контент имеет до 10 вариаций. Также можно содержимое поместить в выпадающие меню. В нем может быть все от ссылок до изображений и шорткодов.
  • В меню сайта можно использовать до 1600 иконок. Эти иконки имеют векторную графику поэтому больших объемов и разрешений они не требуют. Это позволит использовать их даже на сотовом телефоне.
  • Шрифты также имеют свою различную вариацию. В нем можно использовать 600 google шрифтов, которые легко можно настроить в настройках плагина.


Плагин устанавливается обычным методом, как и все программы и затруднений при этом не возникает. После того как вы активировали его-то далее вы должны перейти в главное меню. На странице этого меню в левой части вы увидите четыре опции. Это главная опция с общими настройками, потом опция настроек внешнего вида страницы под названием skins, которая изменяет цвет, шрифт и т. д. Также две последние опции это связь с поддержкой и специальные настройки для профессионалов.

В опциях General есть три под опции это primary, mobile_menu, secondary. Раздел primary служит для настроек всех основных значений меню. Например, там вы можете установить высоту, сглаживание иконок, настроить изображение логотипа. В mobileи secondary эти настройки воспроизводятся отдельно.


В настройках Skins также имеются три вариации настроек это primary , extra , footer . В первом варианте мы можем настроить фон первичного контейнера и выбрать горизонтальный, вертикальный и радиальный вид. Потом шрифт первого пункта и т. д.


В конкретных параметрах можно установить отзыв на портативные устройства. Затем можно установить разрешение экрана и стиль.

Последняя опция это настройка структуры сайта. Здесь вы выбираете какую опцию включить, а какую выключить.

Итак, это отличное плагин меню, который сможет преобразить вашу тему. С её помощью вы можете легко наполнить ее иконками, картинками и прочие элементы. Главное, его качество в том что он имеет легкий функционал. В отличие от других плагинов Mega Main Menu имеет ничтожное влияние на сайт.

Меню является основой всей навигации по сайту. Благодаря меню, пользователь может быстро сориентироваться на сайте и найти нужную ему информацию. Вполне можно утверждать, что сайт “начинается” с меню, ведь только этот элемент может дать пользователю представление о структуре интернет-ресурса.

WordPress из “коробки” предлагает довольно широкие возможности для работы с меню. Так, встроенные инструменты позволяют создать одно или несколько меню, с любой вложенностью, добавить туда произвольные ссылки и пр. Но часто владельцу сайта стандартных инструментов бывает недостаточно для построения меню, отвечающего всем его запросам.

Мега плагин Max Mega Menu

Обычно разработчики тем не предусматривают каких-либо расширенных настроек для кастомизации внешнего вида меню на сайте. Например, эффекты при наведении и нажатии и т.п. Мощный бесплатный плагин Max Mega Menu призван расширить инструментарий навигации сайта и предлагает для этого WordPress-пользователю следующие возможности:

  • основывается на стандартной системе WordPress;
  • поддержка нескольких областей меню (каждая со своей конфигурацией);
  • обеспечение удобного перетаскивания с помощью Drag&Drop ;
  • возможность отображения виджетов WordPress в меню;
  • настройка стилей меню, используя встроенный редактор тем;
  • поддержка стилей подменю;
  • поддержка Hover , Hover Intent или Click для открытия подменю;
  • эффекты Fade , Fade Up , Slide Up или Slide при переходе в подменю;
  • возможность добавления иконок к пунктам меню;
  • расширенные параметры пункта меню, включая “Скрыть текст” , “Отключить связь” , “Скрыть на мобильном телефоне и т.п.;
  • выравнивание элементов меню влево или вправо от строки и родительского пункта меню;
  • адаптивный дизайн для отображение на любом экране;
  • поддержка разных фильтров/хуков;
  • высокое быстродействие работы;
  • детальная документация и форум поддержи.

Настройка Max Mega Menu

Для начала плагин необходимо установить и активировать. Теперь давайте рассмотрим, что он умеет. Для этого следует перейти в админ-раздел Внешний вид -> Меню . Следует отметить, что если у Вас на сайте еще нет навигационного меню, то создайте его, добавив необходимые пункты. О том, как создать на сайте WordPress меню, мы детально рассказывали в из наших прошлых статей. После этого обратите внимание на блок опций слева, который называется Настройки Max Mega Menu .

Для того, чтобы плагин начал свою работу, следует отметить опцию Включено .

Рассмотрим коротко каждую из настроек.

Настройка Событие определяет, при каком событии будут выпадать подпункты меню.

Эффект отвечает за анимационные появления и ее скорость.

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

Кликните на нее, после чего перед Вами откроется всплывающее окно с настройками.

В окне настроек разделено на три вкладки.

Вкладка Мега Меню позволяет определить, будет выводиться обычное меню или меню с виджетами. Если будет выбрано последнее, то в списке Режим отображения подменю нужно указать Мега меню и в соседнем списке выбрать необходимые виджеты. Если же требуется обычное меню, то следует выбрать Выпадающее меню .

Вкладка Settings позволяет настроить пункты меню. Тут присутствуют опции текста, ссылки, иконки, адаптивности и другое.

На вкладке Icon можно задать иконку для пунктов меню.

Можно сделать вывод, что присутствующие в плагине настройки позволяют гибко настроить по отдельности каждый пункт навигации.

Теперь следует рассмотреть более глобальные настройки плагина Max Mega Menu . Для этого необходимо перейти в админ-меню в раздел Мега Меню -> Основные настройки . Видно, что тут находятся всяческие технические опции плагина. В принципе их можно оставить по умолчанию. Также тут можно задать поведение меню при клике мышки, его адаптивность, настройки CSS и т.п.

В разделе Мега Меню -> Темы меню можно изменить существующую или создать новую тему оформления. Видно, что присутствует довольно большое количество разнообразных настроек, включая цвет, размер, тень, анимация, отступы, ориентации для компьютерного и мобильного вида. Также при необходимость можно использовать собственные CSS -правила. Созданные таким образом темы можно применить в редакторе меню.

В разделе Мега Меню -> Локации меню Вы сможете создавать новые области для размещения меню. После создания вы получите специальный PHP -код, который позволяет публиковать области в любом месте сайта, в файлах темы, а также шорткод, благодаря которому области меню можно добавлять прямо в записи/страницы.

Раздел Мега Меню -> Инструменты служит для экспорта/импорта созданных ранее тем, а также присутствует еще несколько технических опций (очистка кеша, полное удаление всех данных плагина).

В качестве заключения

Плагин Max Mega Menu обладает огромным количеством настроек, благодаря которым можно сделать оригинальную и красочную навигацию на Вашем сайте.

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Мне нравится 1 Не нравится

На чтение 8 мин. Опубликовано 01.11.2016

Привет! Мы продолжаем разбирать самые интересные и самые полезные плагины для сайта WordPress! Сегодня вы узнаете о супер полезном плагине, который позволит вам создать горизонтальное выпадающее меню. Вы сможете вставлять в выпадающее меню любые виджеты, текст, редактор, фото, видео, формы, html код.

Вы сможете полностью настроить внешний вид меню и настроить выпадающее меню. Можно добавить в горизонтальное выпадающее меню до 8 восьми колонок. Можно отключить выпадающее меню для мобильных устройств. Очень гибкий плагин, вы сможете сделать Супер меню!


Установить Супер плагин вы сможете прямо из админ-панели WordPress. Перейдите на страницу: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.



General Settings .

Click Event Behaviour, поведение при клике. Здесь у вас на выбор два варианта:

  • First click will open a sub menu, second click will close the sub menu , первый клик открывает подменю, второе нажатие закрывает подменю;
  • First click will open a sub menu, second click will follow the link , первый клик открывает подменю, второй клик по ссылке.
  • Оставьте по умолчанию, ничего не меняйте.

Mobile Menu Behaviour, поведение на мобильном меню,

  • Standard – Open sub menus will remain open until closed by the user , Стандарт – открытое подменю будет оставаться открытым, пока его не закроет пользователь.
  • Accordion – Open sub menus will automatically close when another one is opened , Аккордеон – открытые подменю будет автоматически закрываться, когда другое открыто.

CSS Output, оставьте по умолчанию, ничего не надо менять здесь.

Menu Item Descriptions, включить или отключить описание для пунктов меню.

Active Menu Instances, Некоторые темы будут выводить расположение меню несколько раз на одной странице. Например, ваша тема может выводить расположение меню после главного меню, затем снова для мобильного меню. Этот параметр можно использовать, чтобы убедиться, что меню Max Mega Menu применяется только к одному из этих экземпляров.

.

Menu Themes .

Select theme to edit, здесь указано меню, которое вы будете редактировать. Можно создать и выбрать другое меню.

Theme Title, заголовок темы меню, оставьте по умолчанию.

Arrow, можно выбрать стрелку, которая отображается в пункте меню с выпадающим меню.

Line Height, линия высоты.

Z Index, показатель Z Index, можно оставить по умолчанию.

Shadow, можно настроить тень меню.

Hover Transitions, включить переходы при наведении на пункты меню.

Reset Widget Styling, отключить стили виджетов Mega Menu.

Menu Bar .

Menu Height, высота меню.

Menu Background, цвет фона меню.

Menu Padding, обивка меню.

Menu Border Radius, радиус границы меню.

Menu Items Align, расположение пунктов меню.

Menu Item Background, цвет фона пунктов меню.

Menu Item Background (Hover), цвет фона пункта меню при наведении.

Menu Item Spacing, интервал пунктов меню.

Font, параметры шрифта, цвет, размер, расположение, семейство и т.д.

Font (Hover), параметры шрифта при наведении.

Menu Item Padding, обивка пунктов меню.

Menu Item Border, параметры границы пункта меню.

Menu Item Border (Hover), параметры границы пункта меню при наведении.

Menu Item Border Radius, параметры радиуса границы пункта меню.

Menu Item Divider, разделитель меню.

Highlight Current Item, выделять текущий пункт меню.

Mega Menus .

Panel Background, цвет фона выпадающего меню.

Panel Width, ширина окна выпадающего меню.

Panel Padding, обивка.

Panel Border, цвет и размер границ.

Panel Border Radius, радиус границы.

Item Padding , обивка пункта меню в выпадающем меню.

Widgets .

Heading Font, параметры шрифта заголовка виджета в выпадающем меню.

Heading Padding, обивка заголовка.

Heading Margin, отступы от границ заголовка виджета.

Header Border, параметры границы бордюра.

Content Font, шрифт в содержании виджета.

Second Level Menu Items .

Font, шрифт пунктов меню второго уровня.

Font (Hover), шрифт при наведении.

Background (Hover), цвет фона при наведении.

Padding, обивка.

Margin, отступ.

Border, бордюр, граница.

Third Level Menu Items . Те же настройки, только для пунктов меню третьего уровня.

Flyout Menus .

Menu Background, цвет фона выпадающего меню второго или третьего уровня.

Menu Width, ширина меню.

Menu Padding, обивка.

Menu Border, граница.

Menu Border Radius, радиус границы.

Item Background, цвет фона пункта меню.

Item Background (Hover), цвет фона пункта при наведении.

Item Height, высота пункта меню.

Item Padding, обивка пункта.

Item Font, шрифт текста в пункте меню.

Item Font (Hover), шрифт при наведении.

Item Divider, разделитель элемента.

Mobile menu .

Toggle Bar Designer, здесь показано как выглядит меню на мобильных устройствах.

Responsive Breakpoint, ширина для перехода в мобильное меню.

Toggle Bar Background, цвет фона кнопки открытия мобильного меню.

Disable Mobile Toggle, можно отключить переключатель меню.

Toggle Bar Height, высота переключателя мобильного меню.

Mega Menu Columns, сколько колонок в выпадающем меню на мобильном сайте.

Menu Background, цвет фона мобильного меню.

Menu Item Height, высота пункта меню.

Custom Styling . Здесь можно добавить свои CSS стили для меню.

Сохраните сделанные изменения .

Menu Locations .

– здесь вы сможете создавать области меню, в которые потом сможете добавлять меню. Чтобы создать область для меню, нажмите на кнопку – Add another menu location .


Область меню вы сможете добавлять на сайт, с помощью шорткода или php кода.


На странице: Внешний вид – Меню – Управление областями , вы сможете добавить меню для области.


Tools .

Cache, здесь можно очистить кэш CSS, не обязательно, кэш автоматически очищается при каждом сохранении меню.

Plugin Data, удалить все данные плагина, сохранённые в базе данных WordPress. Только в случае удаления плагина!

Export Theme, можно экспортировать тему мега меню в формате JSON или PHP.

Import Theme, можно импортировать тему мега меню.

Enable, поставьте здесь галочку, чтобы включить мега меню.

Event, здесь можно выбрать как будет открываться выпадающее меню.

Effect, можно выбрать эффект для выпадающего меню.

Theme, тема меню, по умолчанию.

После включения мега меню, в каждом виджете страницы, при наведении, появится кнопка – Mega Menu . Нажмите на данную кнопку, чтобы настроить выпадающее меню для данного пункта меню.


Далее, у вас откроется окно. Вверху справа нажмите по широкому полю, чтобы выбрать виджет и добавить его в меню. Вверху справа вы можете выбрать сколько будет колонок в выпадающем меню. Виджеты можно распределять по выпадающей панели, можно указать какую часть виджет будет занимать, пример 1/2 или 1/3. Жмите по стрелкам вправо и влево, чтобы указать какую часть будет занимать виджет.


Чтобы открыть и настроить виджет, добавить в него какое-либо содержание и т.д., справа в виджете нажмите на значок ключа. Настройте виджет и сохраните его.


Hide Text, скрыть текст из пункта меню.

Hide Arrow, скрыть стрелку.

Hide item on Mobile, скрыть пункт меню на мобильных устройствах.

Hide item on Desktop, скрыть пункт меню на компьютерах.

Menu item Align, расположение пункта меню.

Sub Menu Align, расположение меню второго уровня.

Hide sub menu on Mobile, скрыть меню второго уровня на мобильных устройствах.

Сохраните изменения .



Всё готово! Сохраните меню, перейдите на сайт и наслаждайтесь результатом!

Внимание! После включение мега меню, стиль вашего меню по умолчанию будет полностью изменён. Вам нужно будет настраивать стиль меню в настройках, на вкладке “Menu Themes” .

Остались вопросы? Напиши комментарий! Удачи!



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: