wp_nav_menu_container_allowedtagsхук-фильтрWP 3.0.0

Позволяет дополнить список HTML тегов, которые можно указать в параметре 'container' при выводе меню функцией wp_nav_menu(). Фильтрует список тегов - контейнеров меню.

Контейнер меню указывается для функции wp_nav_menu() в параметре container:

wp_nav_menu( array(
	'container' => 'div',
) );

По умолчанию можно указать только теги div и nav. Этот фильтр позволяет расширить этот список.

Использование

add_filter( 'wp_nav_menu_container_allowedtags', 'wp_kama_nav_menu_container_allowedtags_filter' );

/**
 * Function for `wp_nav_menu_container_allowedtags` filter-hook.
 * 
 * @param string[] $tags The acceptable HTML tags for use as menu containers.
 *
 * @return string[]
 */
function wp_kama_nav_menu_container_allowedtags_filter( $tags ){

	// filter...
	return $tags;
}
$tags(массив)
Допустимые HTML теги для использования в качестве контейнеров меню.
По умолчанию: используется массив, содержащий 'div' и 'nav'

Примеры

0

#1 Добавим в выбор допустимых тегов тег section

// Добавляем тег section в набор допустимых тегов для выбора
add_filter( 'wp_nav_menu_container_allowedtags', function ( $allowed_tags ) {
	$allowed_tags[] = 'section';

	return $allowed_tags;
} );

// Выводим меню
wp_nav_menu( [
	'theme_location' => 'mainmenu',
	'container'      => 'section',
] );

Получим:

<section class="menu-mainmenu-container">
	<ul id="menu-mainmenu" class="menu">
		<li id="menu-item-268" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-268">
			<a href="http://wp-test.ru/2018/03/25/post-105/">Запись 1</a>
		</li>
		<li id="menu-item-269" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-269">
			<a href="http://wp-test.ru/2018/03/25/post-104/">Запись 2</a>
		</li>
		<li id="menu-item-270" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-270">
			<a href="http://wp-test.ru/2018/03/25/post-103/">Запись 3</a>
		</li>
	</ul>
</section>

Список изменений

С версии 3.0.0 Введена.

Где вызывается хук

wp_nav_menu()
wp_nav_menu_container_allowedtags
wp-includes/nav-menu-template.php 184
$allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );

Где используется хук в WordPress

Использование не найдено.