В этой статья, я покажу, как добавить меню в шаблон WordPress, если конечно, шаблон вы пишите сами.
К примеру, у нас есть такое меню:
1 2 3 4 5 6 7 8 |
<div class="class_div" <ul class="class_menu"> <li><a href="#">Link1</a></li> <li><a href="#">Link2</a></li> </ul> </div> |
Для реализации этой задачи у вас должен быть файл functions.php. Если functions.php отсутствует, то его надо создать. В functions.php необходимо добавить функцию поддержки меню:
1 2 3 |
add_theme_support('menus'); |
После этого, в разделе Внешний вид, появится пункт – Меню
Далее, необходимо в файле вашего шаблона, это может быть, например, header.php, добавить следующий код:
1 2 3 4 5 6 7 8 9 |
<?php wp_nav_menu([ 'container' => 'div', 'container_class' => 'class_div', //класс div блока 'menu_class' => 'class_menu', //класс меню ]) ?> |
При таком подходе, вы можете создать одно меню в шаблоне.
Если необходимо добавить два и более меню, то нужно создать поддержку облоастей темы. В результате, вы получите возможность добавлять любое количество меню.
Для этого нужно отредактировать functions.php. Если у вас было прописано add_theme_support(‘menus’); , то эту запись удаляем, и пишем следующую функцию:
1 2 3 4 5 6 7 |
//Подключение поддержку меню с областями темы register_nav_menus([ 'header_menu' => 'Шапка', //Название области верхнего меню 'footer_menu' => 'Подвал', //Название области нижнего меню ]); |
После этого редактируем шаблон сайта, в нашем случае header.php, добавляем в функцию wp_nav_menu, еще один аргумент, а именно ‘theme_location’ => ‘top_menu’
Полный вариант кода:
1 2 3 4 5 6 7 8 9 |
<!-- Подключаем верхнее меню--> <?php wp_nav_menu([ 'container' => 'div', 'container_class' => ''class_div'', 'menu_class' => 'class_menu', 'theme_location' => 'header_menu',//Поддержка верхней области меню ]) ?> |
Далее, такой же код размещаем в том месте сайта, где хотим добавить второе меню, с той лишь разницей, что мы меняем в название области ‘top_menu’ на ‘footer_menu’
1 2 3 4 5 6 7 8 9 |
<!-- Подключаем нижнее меню--> <?php wp_nav_menu([ 'container' => 'div', 'container_class' => ''class_div'', 'menu_class' => 'class_menu', 'theme_location' => 'footer_menu',//Поддержка верхней области меню ]) ?> |
После все этих манипуляций, в разделе Внешний вид, пункт – Меню, можно создавать дополнительное меню и и привязывать его к соответствуюшей области темы, в нашем случает, это ‘Шапка’ или ‘Подвал’.