SdelaemBlog

Создание Сайтов и их настройка

Как подключить возможность управления меню в wordpress, через админпанель

Главная Статьи WordPress Как подключить возможность управления меню в wordpress, через админпанель
#WordPress

12 сентября 2012

Приветствую, всех посетителей блога — SdelaemBlog.ru. Сегодня, я хочу поговорить об одной проблеме некоторых шаблонов cms wordpress, которая заключается в выводе меню. Не всегда, в темах, удобно использовать навигацию, а именно добавлять или убирать  определенные пункты. Но в вордпресс есть функция настройки меню. Да есть. Но не у всех эта возможность работает. Что же нужно, для нормального использования предлагаемой возможности этого движка? Вот и давайте разберемся, как нам все подключить, для облегчения своей жизни.

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

С каким меню wordpress могут быть проблемы

Начну с того, что я сам столкнулся с этой, весьма распространенной проблемой, wordpress. Навигация на блоге исправно работала и все бы хорошо… Но… Однажды, я решил поставить себе поиск по сайту, от поисковой системы Яндекс. Но чтобы выводить результаты поиска на страницах моего блога, мне необходимо было создать страницу предназначенную для этого. Страницу я создал и все бы ничего, кроме одного момента: после создания, ссылка на данную страницу появилась в верхнем меню wordpress, а этого мне не нужно было. Я естественно попытался убрать страницу, через админку, с помощью пункта «меню», но не тут то было… В этом разделе вообще не было никакого активного меню. То есть управлять навигацией из админки я не мог и меня это совсем не устраивало. Отсюда, я сделал вывод, что мое меню настраивается в самой теме (кстати, существует 3 способа установить тему на вордпресс), с помощью редактирования кода. Но это как минимум глупо, когда wordpress предоставляет возможность управления навигацией из админки, без редактирования кода.

Поэтому, мне ничего не оставалось как найти код и заменить его на другой. Долго искать не пришлось: в шапке сайта (header.php), я нашел вот такой код:

<?php wp_list_pages('depth=1&sort_column=menu_order&title_li='); ?>

В итоге, я его заменил на другой. Но сначала, я нашел решение, как убрать лишнюю страницу из меню. Как оказалось, для этого достаточно добавить следующее:

&exclude=1939

Где 1939 — это id страницы. В результате конструкция обрела такой вид:

<?php wp_list_pages('depth=1&exclude=1939&sort_column=menu_order&title_li='); ?>

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

<?php wp_nav_menu( array( 'theme_location' => 'primary','fallback_cb'=> '' ) ); ?>

После замены конструкции, оставалось создать меню и добавить в него необходимые страницы, а не нужные не добавлять.

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

Сначала, нужно перейти в админпанель и выбрать раздел «меню».

меню wordpress

Теперь, необходимо дать имя для навигации и нажать на кнопку «создать меню».

добавить меню wordpress

Итак, навигация сделана, но так и не появилась на страницах сайта. Все верно. Просто нужно добавить страницы или категории, или еще что-нибудь и сохранить. Но учтите, что даже после этого, навигация не будет отображаться. Без паники , просто нужно выбрать меню, которое мы собираемся использовать и снова сохранить. То есть примерно так:

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

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

Оставьте свой коммент
ДОСТАВКА СТАТЕЙ ПОЧТОЙ, на дом

Комментарии

  1. Евгений

    Спасибо за статью. Последний приведённый код нужно вставлять в header.php вместо кода отображающего меню?

    5 лет назад21.10.2012 Ответить
  2. Михаил Веб

    Не за что. Да нужно заменить в header. Если есть меню в футере, то и там тоже требуется замена.

    5 лет назад21.10.2012 Ответить

Чтобы оставить комментарий, заполните, пожалуйста форму ниже:

Смайлы

Обязательно для Заполнения!

Обязательно для Заполнения!

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

Отправить жалобу разработчику сайта

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

[contact-form-7 404 "Not Found"]

Спасибо большое за поддержку проекта! :)

Для поддержки проекта, выберите убодный способ для оплаты: