Поддержка пользовательских меню в старых темах wordpress

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

Я решил исправить эту проблему, так как сама тема мне нравится и менять её я пока не намерен.

Итак, если ваша тема не поддерживает меню, то пройдя в консоли управления блогом во вкладку внешний вид – меню Вы увидите надпись на подобии такой: «Текущая тема не поддерживает создание меню, однако вы можете использовать виджет «Произвольное меню», чтобы добавить любое из созданных здесь меню в боковую колонку темы.»

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

Погуглив немного я нашел решение своей проблемы, так что приступим…

Чтобы добавить меню в старый шаблон вордпресс нам нужно сделать следующее.

1. Открываем файл functions.php нашей темы блога, его можно найти в меню панели управления внешний вид – редактор, и вставляем внизу этого файла следующий код

 

register_nav_menus(
array(
'primary'=>__('Первое меню'),
'secondary'=>__('Второе меню'),
)
);

Заметьте, что таким образом мы добавили два пользовательских меню в наш шаблон блога, primary и secondary, если Вам два меню не нужно – просто удалите строчку secondary’=>__(‘Второе меню’),

Ещё один момент, код нужно вставлять в файл functions.php между тегами <?php и ? >, иначе у нас ничего не получится.

2. Теперь, если мы перейдем в панели управления во внешний вид – меню, то увидим приблизительно следующую картину.

clip_image002[6]

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

clip_image003

Но перед этим нужно будет прописать стили для вывода этих вложенных пунктов.

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

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

Я немного поискал в своем шаблоне вывод меню, и вот, как он выглядел:

clip_image004

Код обведённый прямоугольником нужно заменить на новый.

Вот как выглядит новый код для вставки

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

Где primary, это наше первое пользовательское меню, как Вы помните.

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

clip_image005

Так что не забудьте подписаться на обновления блога.

Удачного Вам дня и до связи.


Понравилась статья? - поделитесь ею с друзьями!

Оцените статью!

Поддержка пользовательских меню в старых темах wordpress
4.8 (80%) 1 голос[ов]


23 комментария к “Поддержка пользовательских меню в старых темах wordpress

  1. Здравствуйте,спасибо за подробный мануал. Немного не понял вот этот пункт: Но перед этим нужно будет прописать стили для вывода этих вложенных пунктов.
    Вы не могли бы объяснить поподробнее. Заранее спасибо!

    • Имеются в виду каскадные таблицы стилей, тут вкратце не расскажешь, откройте исходный код страницы с таким меню и все увидите…

  2. Добрый день!Подскажите,сделала как вы написали,у меня получился маленький шрифт,как его можно увеличить?

    • Натали, проверьте стили меню, если до того шрифт был нормальный то вы просто неверно их прописали, ну или нужно править верстку и CSS

  3. Алексей, спасибо, все прекрасно работает, но не выводится второе меню. Я так понимаю, что нужно куда-то добавить про secondary: ‘primary’,’fallback_cb’=> » ) ); ?> Но куда?… Знаний моих катастрофическине хватает.

    • Мария, маловато информации, чтобы помочь Вам, что прекрасно работает? какое второе меню, в каком шаблоне?
      Если шаблон не поддерживает новые меню то актуальнее конечно его сменить, он морально устарел. Может есть обновленная версия Вашего шаблона, проверьте…

  4. Алексей, спасибо за статью, очень помогли! У меня на сайте используется старая тема, которая не поддерживает пользовательское меню, плюс долго не могла понять, как можно избавиться от лишнего пункта в стандартном меню. Вследствие изменений в структуре сайта в меню появилось два пункта Главная,ссылающихся на одну и ту же страницу, как можно через админ-панель удалить лишний пункт я не нашла . Сделала меню по описанному Вами способу, добавив в него все страницы, кроме главной и все получилось так, как мне хотелось!
    Единственное, что пришлось поискать — как увеличить размер шрифта в меню, т.к. новые опции выводились мелким шрифтом. Но это оказалось несложным: в файле style.css нашла строку #menu ul ul li { font-size: 1em;} вместо 1 указала нужный размер шрифта. Спасибо еще раз!

  5. Здравствуйте, Алексей,
    спасибо инструкцию, но у меня возникла проблема с выводом меню в навигацию. На месте где оно должно было быть появляется сам код вставки.
    Вот, что у меня сейчас стоит (тема Evidence как на вашем примере)

    Меняю на ваш код, но меню нет.
    Посоветуйте, что делать в этой ситуации.

    • Я не совсем понял Вас…
      Если появляется пхп код в шаблоне то он скорее всего просто неверно обрабатывается, неверно вставлен…

      • Алексей,Вы пишите «НУ И ПОСЛЕДНИЙ ШТРИХ, НУЖНО ПРОПИСАТЬ ВЫВОД НАШЕГО ПОЛЬЗОВАТЕЛЬСКОГО МЕНЮ В ШАБЛОНЕ ТЕМЫ БЛОГА.» В Hedere найти код вывода меню и заменить его. Я сделала это, но вместо меню у меня в навигации появляется сам код: …

        • Неверно вставлен как я уже сказал — скорее всего,
          покажите пациента…
          Радикальный метод решения — смена шаблона…

  6. я перепробовала кучу методов, но у всех проблема. У меня шаблон DW Minion, в хедере ничего удалять не пришлось, там вообще отсутствовала какая либо запись с меткой меню. Поставила этот код, и в результате вверху отображается только одно меню. Хотя я сделала 3(прописала в коде, сделала в настройках), но он не показывает!
    Что делать?

    • Видимо где-то ошиблись, лучше сразу искать шаблон который Вас устраивает и не зацикливаться на этом, ковыряться в коде неблагодарное дело если Вы не профи, вид шаблона мало влияет на успешность блога

  7. Алексей, у меня все работает КРОМЕ подстраниц. Делаю подстраницу, но она не в какую не выпадает, а отображается вместе со всеми. Что может быть?

  8. спасибо вам большое за этот пост, благодаря вам, я навел порядок в своем блоге. спасибо большое.

Оставить комментарий