Функція 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' => 'Навігація по сайту')); ?>