Создание и управление меню в WordPress 3.0


Пользовательские меню в WordPress 3.0 вероятно одна из самых лучших функций данного релиза.
Вы сможете добавлять, удалять, менять местами любые рубрики, страницы и даже исходящие ссылки на другие сайты с помощью мышки. Также возможно перетягиванием задать любой уровень вложенности пунктов меню.
Однако прежде всего ваша тема должна поддерживать эту функцию. Подключить ее довольно просто. Если вы не намерены заказывать сайт под ключ, то придется немного познакомится с редакцией php-файлов. Хотя на данный момент в этом нет ничего страшного, и многие начинающие пользователи без труда это делают. Достаточно зайти во вкладку Внешний вид -> Редактор и выбрать нужный файл для редактирования, а затем сохранить его (при этом файл должен быть перезаписываемый, если же нет, WordPress попросит изменить права доступа к файлу, что нужно будет сделать через FTP или Менеджер файлов на хостинге).
В файле functions.php необходимо добавить код

1
2
3
if (function_exists('add_theme_support')) {
 add_theme_support('menus');
}

Код нужно вставить в конце перед закрывающей скобкой ?>.


Перейдя на вкладку Внешний вид -> Меню, вы увидите такой интерфейс как на картинке (нажмите на нее, чтобы увеличить). Вам необходимо добавить новое меню, у меня в примере это меню «top».

Далее мы добавляем в него необходимые пункты, достаточно отметить их галочками и нажать кнопку «Добавить в меню». На рисунке выше вы также можете видеть поля для добавления произвольных ссылок.

Получаем вот такой список.

Вы можете также создать выпадающее меню, для этого некоторые пункты из списка вы можете сделать дочерними, достаточно захватить пункт меню мышкой и перетянуть его под какой-либо другой пункт. Обратите внимание, что если рубрики или страницы уже разделены на дочерние и родительские при их создании, это не повлияет на меню, и выпадающие рубрики сами по себе не появятся, их нужно сгруппировать и упорядочить в настройках самого меню как на рисунке. Соответсвенно при этом в вашей теме должен быть подключен java-скрипт для плавно выпадающих меню и/или заданы их стили. В теме Twenty Ten, которая поставляется с дистрибутивом WordPress по-умолчанию, выпадающие меню уже есть. Вы можете скопировать стили из этой темы, и затем подогнать их под себя (подробнее о создании выпадающих меню я расскажу в следующих публикациях).

Затем, чтобы отобразить меню на сайте, в файлы темы (обычно это header.php или sidebar.php) нужно добавить следующий код, где top – название вашего меню.

1
'menu=top'); ?>

Также вы можете задать свой стиль для меню, при этом код для вставки будет выглядеть таким образом (этот же стиль, menu-header, используется в теме Twenty Ten).

1
wp_nav_menu('menu=top&menu_class=menu-header');

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

Отзывов (20) на «Создание и управление меню в WordPress 3.0»

gonyaz пишет: сентября 6, 2010 в 21:40
как поставить на денвер

Анастасия пишет: сентября 6, 2010 в 21:41

Сам WordPress или возникают проблемы с меню?

Марина пишет: сентября 12, 2010 в 08:53
А у меня вместо вкладки «Внешний вид» вкладка «Дизайн», и там есть Темы, Виджеты, Редактор и Добавление новой темы, а Меню нет

Анастасия пишет: сентября 12, 2010 в 22:38

У вас версия 3.0? Попробуйте подключить меню сначала в functions.php, как указано в начале статьи.

videomob пишет: сентября 15, 2010 в 14:50
Спасибо за статью. Создал новую тему при помощи Artisteer 2, но никак не получается прикрутить это меню. После добавления кода в function.php вот такое сообщение: «Ваша тема поддерживает 0 меню. Выберите, какое меню выводить в каждом месте.» И нет опций для отображения этого меню, где его показывать.( Можете описать подробней, куда вставлять коды, если шаблон сделан при помощи Artisteer 2?
Спасибо.

Анастасия пишет: сентября 16, 2010 в 16:49

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

videomob пишет: сентября 17, 2010 в 09:26
Спасибо за ответ. Все получилось)))

eTradePages пишет: октября 5, 2010 в 23:56
Спасибо разобрался с WordPress 3.0

Артем (Одесса) пишет: октября 21, 2010 в 00:16
А куда именно в header.php вставлять код , у меня не появляется меню

Takohashi пишет: ноября 27, 2010 в 20:20
А как сделать, чтобы дочерние пункты меню были свёрнуты?
То есть у меня например в меню 10 пунктов и в каждом 10 подпунктов. Получается, что все они видны. Мне надо, чтобы было видно только 10 пунктов. Когда я захожу в один из пунктов меню, показываются все вложенные элементы.
Как такое реализовать? Мож хотя бы плагином каким?

Анастасия пишет: декабря 1, 2010 в 01:36

Если имеется в виду именно пользовательское меню, можно сделать выпадающий список, для этого подпункты в меню перетягиваются мышкой под главный пункт, а потом это все оформляется в стилях.
Если нужно, чтобы открывались подпункты на новой странице читайте здесь wphelp.ru/2008/list-sub-pages.htm

lighto пишет: декабря 1, 2010 в 09:36
а не проше делать меню не средствами вордпресс? и функциональней и красивей… полазил в менюшке от движка неудобная и страшноватая((

Анастасия пишет: декабря 1, 2010 в 22:15

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

Takohashi пишет: декабря 1, 2010 в 22:27
>Если нужно, чтобы открывались подпункты на новой странице читайте здесь
Спасибо, это вроде то, что мне и нужно. Но по всей логике вещей эта функция должна быть в базовой комплектации изначально.
Всё-таки да, понимаю, что Вордпресс пока что чисто блоговый движок. Хотел вот сайт перенести с Джумлы на Вордпресс, дабы не ставить лишние плагины для комментов, красивых ЧПУ и тд, так как в ВП это есть изкоробки. Однако ж столкнулся с тем, что если не эти, то придётся ставить другие плагины — плагин для страниц, чтобы они оканчивались на .html, также как и записи, плагин для меню, чтобы подпункты были свёрнуты и тд.
Теперь после этого думаю — а стоит ли вообще переносить свой сайт на ВП? думаю, что смысла в этом нет.

lighto пишет: декабря 2, 2010 в 04:47
ну jquery+css куда лучше тоньше красивей и тд) можно сделать а на вордпрессе так невыйдет так же красиво и постоянно во всех браузерах)

Семен пишет: апреля 11, 2011 в 14:10
Добрый день! Помогите пожалуйста!!!
Тружусь над меню в шапке, на dom-kino.com.ua
В втором меню не получается делать изменения, а именно: добавлять / убирать рубрики…
Выдает:»Fatal error: Maximum execution time of 30 seconds exceeded in /home/h23925/data/www/dom-kino.com.ua/wp-includes/post.php on line 1608″
Может проблема в количестве рубрик но их нужно достаточно много.
На мой взгляд я достиг какова то придела, с темой вряд ли проблема так как меню чисто «радоне» wordpress…
В чем проблема, подскажите???
Буду очень благодарен!

Анастасия пишет: апреля 21, 2011 в 11:04

Проблема в том, что на выполнение запроса не хватает времени, выделенного хостингом, 30 секунд. Как это ускорить при большом количестве рубрик я не знаю, разве что попросить у хостера увеличить время выполнения скриптов до 60 секунд, или попробовать это самостоятельно исправить в файле php.ini, если к нему есть доступ.

Sun пишет: мая 5, 2011 в 19:38
не знаю как в других версиях но на WP 3.1.2 похоже работает без изменений файла function.php

Анастасия пишет: мая 7, 2011 в 21:34

Sun, зависит от темы.
Автор: GospodinPg Рубрика: Wordprees

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s