Делаем собственное меню в WordPress 3.0

Доброго времени дня, друзья! Я продолжаю рассказывать про улучшения сделанные на своем блоге после смены его дизайна. Сегодня я расскажу как сделать свое собственное меню в вашем WordPress блоге. Меню которое будет содержать только заданные вами страницы, категории или ссылки на посты.

Делаем собственное меню в WordPress 3.0

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

Если вы только начинающий блоггер, то, скорее всего, вам этого будет достаточно. Так как у вас, таких страниц будет очень немного — о сайте, реклама, контакты и все пожалуй. Всю остальную информацию обычно пишут в постах, которые идут просто лентой, на главной странице. Я тоже так начинал.

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

В общем, думаю, с этим все понятно. Но я немножко отошел от темы 🙂 .

Мне нужно было, чтобы все эти дополнительно созданные страницы не отображались в моей шапке блога. А, по-умолчанию, было именно так.

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

Сначала я тоже попробовал просто удалить этот код и сделать простое перечисление, но не вышло. Все начинало работать очень криво. Конечно, можно было поковыряться побольше и решить эту задачу как-то по другому, но я считаю, что нашел очень гибкий путь по ее решению, когда просто создал собственное меню для WordPress. А самое главное это заняло максимум 10 минут времени.

Кстати, нужно заметить, что эта функция становится доступной только с версии WordPress 3.0, поэтому придется обновиться до этой версии. Я писал отдельный пост как я обновился до этой версии — Не так страшен WordPress 3.0.1, обновление прошло ровно – полет нормальный.

Обновились? Тогда давайте приступим к созданию собственного меню для вашего WordPress блога.

Первое, что нам понадобится — это создать ваше новое меню. Для этого, в админке вашего блога переходим по ссылке — Внешний вид/Меню. Попадаем на страницу создания новых меню.

Далее прописываем заголовок меню, у меня он называется pages_header. Следующим шагом, добаляем страницы (а можно также рубрики и просто произвольные ссылки в ваше новое меню). У нужных рубрик и страниц просто ставим галочки и жмем добавить в меню. Если нужно добавить произвольную ссылку — прописываем ее руками.

Потом, можно настроить какой текст будет выводиться у каждой добавленной вами ссылки в меню, а также — атрибут title. Сделали? Тогда кликаем — сохранить меню.
Чтобы вам было понятнее, я привожу полноразмерный кликабельный скришот из моей админки.

Мое меню в адмике WordPress 3.0

Новое меню создано, теперь его нужно добавить в место, где оно будет выводиться.

Чтобы это сделать, сначала в файле functions.php, который лежит в вашей теме WordPress, нужно дописать следующее.

[php]add_theme_support( ‘nav-menus’ );[/php]
— это я «нагуглил» в интернете. В моем же случае в данном файле уже было прописано:
[php]register_nav_menus();[/php]
Поэтому у себя, в этом файле, я не чего дополнительно не прописывал — все и так работало. Однако, возможно у меня просто сильно «перепиленная» тема и поэтому все «как-то не так как у всех». Но цель у нас одна — сделать собственное меню и главное рабочее 🙂 , поэтому прописывайте как я описал выши все должно работать.

Теперь осталось немного — прописать код, где будет выводиться это меню в WordPress.

Код имеет вот такой вид:

[php]wp_nav_menu( ‘id=pages_header’ );[/php]
Замечу что название pages_header это название моего меню (которое вы создали в админке) — ваше может называться по другому.

Обычно этот код прописывается в файле header.php, причем в моем случае имеет вообще страшный вид 🙂 :
[php]<?php wp_nav_menu( array( ‘id=pages_header’, ‘sort_column’ => ‘menu_order’, ‘container_class’ => ‘menubox’ ) ); ?>[/php]

Все эти дополнительные записи задают как раз те самые стили, о которых я писал в начале поста и которые пропадали, если я делал просто перечисление.

Чтобы понять, что они обозначают, советую вам обратиться вот к этой странице на официальном ресурсе по WordPress — http://codex.wordpress.org/Function_Reference/wp_nav_menu (язык английский), тут все расписано от и до.

Вот в общем то и все. Ваше новое меню для WordPress уже должно заработать. Можете идти скорее проверять 😉 .

Небольшой анонс следующего поста. В нем я расскажу, что думаю относительно вот этой новости от компании Яндекс — Ограничение влияния искусственных ссылок на ранжирование, которая датируется 23 сентября 2010 года. Хочу поделиться своим мнением, причем, естественно ругаться мне не хочется, я скажу как с этим работать. И буду рад услышать ваше мнение.

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

Игорь (Luckyboy)