Короткий посібник у роботі з довільним меню WordPress
Почне з початку і поступово дійдемо до результату.
Думаю, всі помічали, що в WordPress, при побудові стандартної структури на придбаних або завантажених в Інтернеті шаблонах, Головне меню (верхнє) визначено для сторінок, а меню в сайдбарі для постів.
На одному з моїх проектів мені знадобилося продублювати головне меню внизу сторінки та пункти меню мали бути різними типами. Наприклад, сторінка «Про фірму» була саме типу «Сторінка», а новини виводилися у вигляді «Записів», тобто мають виводитися короткі релізи, які будуть вести на повну новину.
Почнемо створювати своє меню з адмін меню Appearance -> Menus. Після входу, у верху вашої адмінки є пункт Screen Options, змінюючи налаштування, ви можете включити дані певного типу або вимкнути їх.
Думаю, щоб багато не говорити про те, про що вже говорили інші додам невелике відео з YouTube
Згадайте на час те відео, яке показано вище, там питання Theme Location у меню Appearance > Menu, просто не був зачеплений, але це одне з найважливіших та ключових питань. Коли мені була потрібна можливість вибору потрібного меню з адмінки для його тимчасової заміни, російською мовою статей я просто не знайшов.
Перше про що треба згадати, це про API меню в WordPress. Почитати на офіційному сайті можна у Кодексі.
Розглянемо метод реєстрації з моєї практики:
1 2 3 4 5 6 7 |
<!--?php function my_theme_three_navs() { register_nav_menus(array( 'primary' => 'Primary Menu', 'top' => 'Top Nav Menu', 'bottom' => 'Footer Nav Menu', )); } add_action('init', 'my_theme_three_navs'); ?--> |
Після додавання фрагмента коду до файлу function.php у меню Appearance -> Меню -> Theme Location з'явиться новий список зі списком створених меню. Залишилось лише додати мітку до теми нашого сайту. Про те, як це зробити докладно знову ж таки можна почитати в Кодексі WordPress англійською.
Приклад встановлення мітки у шапці сайту, файл header.php
1 2 3 4 |
<? wp_nav_menu(array( 'theme_location' => 'top', 'container_class' => 'my-nav' )); ?> |
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.