has_nav_menu() — проверяет, добавлено ли меню в указанную область темы

Опишу суть функции при помощи скриншотов, итак, функция возвращает true, если:

меню добавлено в область темы

false в том случае, если:

в область темы не добавлено меню

Кстати, на скриншотах «Primary Navigation» — это именно название области, а в аргументе нужно передавать её ярлык, предположим ярлык будет primary.

has_nav_menu( $location )

$location
(строка) (обязательное) — область темы, области задаются через функцию register_nav_menu() — там можно и узнать все ярлыки областей, чуть более подробно тут.

Примеры использования

Самый банальный такой пример — если меню в указанной области существует — выводим его:

if ( has_nav_menu( 'top_menu' ) ){
	wp_nav_menu( array( 'theme_location' => 'top_menu' );
}

Во многих старых темах ещё не было фишек с менюхами, поэтому они выводились в виде обычного списка рубрик и страниц.

То есть в данном случае если меню не добавлено в область, то будет выводиться список категорий через wp_list_categories().

if ( has_nav_menu( 'top_menu' ) ){
	wp_nav_menu( array( 'theme_location' => 'top_menu' );
} else {
	wp_list_categories('title_li=');
}

Комментарии 1

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.