Создание меню навигации в теме для WordPress
Для создания меню необходимо воспользоваться функцией wp_nav_menu( ), параметром которой является массив мета данных для настройки меню. Далее нужно это меню зарегистрировать в файле functions.php после чего в панеле WordPress, во вкладке Внешний вид появится новая вкладка с названием Меню, именно в ней мы сможем окончательно завершить создание и настройку меню для темы.
Шаг 1: Создание и определение параметров меню
Для начала создания меню в шапке сайта, нужно открыть файл header.php и в соответствующем теге (блоке), в котором будет находится будущее меню, добавить функцию отображения меню wp_nav_menu( ) с набором аргументов определённых в массиве $args.<?php
<?php$args = array(‘theme_location’ => ‘primary_menu’,//определяем область темы где будет размещаться главное меню‘container’ => ‘nav’,//определяем родительский элемент (тег <nav>)‘container_class’ => ‘nav-primary-menu’, //назначаем имя класса для родительского элемента (тег <nav>)‘menu_class’ => ‘ul-primary-menu’//назначаем имя класса для меню (тег <ul>));wp_nav_menu($args);//обеспечивает отображение меню?>
Помимо приведенных выше параметров, существуют также и другие параметры, которые также, при необходимости, можно добавить в массив. Все возможные параметры меню приведены в таблице в конце статьи.
Шаг 2: Регистрация созданного меню
После того как мы вставили код с меню в нужное место, его необходимо зарегистрировать (активировать) создав функцию регистрации register_nav_menus( ) в файле functions.php, параметром которой является массив всех имеющихся у нас меню. После чего в нашей панеле управления, а именно во вкладке Внешний вид появится новая подвкладка с названием Меню где мы сможем управлять всеми созданными ранее меню.
<?phpfunction theme_support_setup(){ //функция настройки функциональности темы//…//Меню навигации на сайте //регистрация всех используемых типов менюregister_nav_menus(array(‘primary_menu’ => __(‘Меню в шапке’),‘sidebar_menu’ => __(‘Меню в сайдбаре’),‘footer_menu’ => __(‘Меню в подвале’)));//…}add_action(‘after_setup_theme’,‘theme_support_setup’);?>