Функція wp_nav_menu ()
На кожному сайті потрібно меню, на WordPress при створенні сайту для виведення меню нам потрібна функція wp_nav_menu () котра виводить навігаційне меню, створене в панелі: “дизайн> меню” (Appearance> Menus).
Яке саме виводити меню (їх може бути декілька), вказується в параметрі “theme_location”.
Якщо не вказано параметр theme_location, то меню для виведення буде підбиратися в наступному порядку:
- Меню, відповідне за ID, або опису переданому в параметрі ‘menu’ і якщо в цьому меню є хоч одне посилання (один елемент);
- інакше, перше не порожнє меню;
- або, виведе значення повернуте функцією зазначеної в параметрі “fallback_cb” (за замовчунням там вказано функція wp_page_menu);
- якщо нічого не підійшло, функція нічого і не виведе.
Щоб тема підтримувала меню, потрібно зареєструвати цю функцію за допомогою register_nav_menu ()
Повертає
Функція виводить на екран html код меню.
Використання
<? php wp_nav_menu ($ args); ?>
Шаблон використання
$ Args = array ( 'Theme_location' => '', 'Menu' => '', 'Container' => 'div', 'Container_class' => '', 'Container_id' => '', 'Menu_class' => 'menu', 'Menu_id' => '', 'Echo' => true, 'Fallback_cb' => 'wp_page_menu', 'Before' => '', 'After' => '', 'Link_before' => '', 'Link_after' => '', 'Items_wrap' => '<ul id = "% 1 $ s" class = "% 2 $ s">% 3 $ s </ ul>', 'Depth' => 0 ); wp_nav_menu ($ args);
$ Args (масив)
Масив аргументів, що відповідають за виведення меню.
За замовчуванням: за замовчуванням
Аргументи параметра $ args
theme_location (рядок)
Ідентифікатор розташування меню в шаблоні. Ідентифікатор, вказується при реєстрації меню функцією register_nav_menu ().
За замовчуванням: ‘ ‘
menu (рядок)
Меню яке потрібно вивести. Відповідність: id, розважаючи, або назва меню.
За замовчуванням: ‘ ‘
container (рядок)
Чим обертати ul тег. Допустимо: div або nav. Якщо не потрібно обертати нічим, то пишемо false (container => false).
За замовчуванням: div
container_class (рядок)
Значення атрибута class у контейнера меню.
За замовчуванням: menu- {menu slug} -container
container_id (рядок)
Значення атрибута id у контейнера меню.
За замовчуванням: ‘ ‘
menu_class (рядок)
Значення атрибута class у тега ul.
За замовчуванням: menu
menu_id (рядок)
Значення атрибута id у тега ul.
За замовчуванням: складаючи меню
echo (логічне)
Виводити на екран (true) або повернути для обробки (false).
За замовчуванням: true
fallback_cb (рядок)
Функція для обробки виведення, якщо ніяке меню не знайдено. Передає всі аргументи ($ args) цієї функції.
За замовчуванням: wp_page_menu
before (рядок)
Текст перед тегом <a> в меню.
За замовчуванням: ‘ ‘
after (рядок)
Текст після кожного тега </a> в меню.
За замовчуванням: ‘ ‘
link_before (рядок)
Текст перед анкором кожного посилання в меню.
За замовчуванням: ‘ ‘
link_after (рядок)
Текст після анкора кожного посилання в меню.
За замовчуванням: ‘ ‘
items_wrap (рядок)
Чи потрібно обертати елементи в тег ul. Якщо потрібно, вказується шаблон обгортки.
За замовчуванням: ‘<ul id = “% 1 $ s” class = “% 2 $ s”>% 3 $ s </ ul>’
depth (число)
Скільки рівень вкладених один в одного посилань показувати. 0 – всі рівні.
За замовчуванням: 0
walker (об’єкт)
Об’єкт, який буде використовуватися для побудови меню. (Потрібно вказувати об’єкт, а не рядок)
За замовчуванням: Walker_Nav_Menu
Приклади
Виведемо перше-ліпше не порожнє меню, з базовими налаштуваннями виведення:
<? php wp_nav_menu (); ?>
Виведемо певне меню з назвою “Навігація по сайту”:
<? php wp_nav_menu (array ('menu' => 'Навігація по сайту')); ?>