WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

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

Позволяет изменить уже сгенерированный HTML код пунктов меню.

Через фильтр проходит примерно следующее содержимое:

<li id="menu-item-265" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-265">
	<a href="http://wp-test.ru/post-99">Обратная связь</a>
</li>
<li id="menu-item-266" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-266">
	<a href="http://wp-test.ru/post-98">Все статьи</a>
</li>
<li id="menu-item-267" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-267">
	<a href="http://wp-test.ru/post-97">Карта сайта</a>
</li>

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

add_filter( 'wp_nav_menu_items', 'filter_function_name_4792', 10, 2 );
function filter_function_name_4792( $items, $args ){
	// Делаем что-либо...

	return $items;
}
$items(строка)
HTML код пунктов меню.
$args(stdClass)
Объект с параметрами, переданными функции wp_nav_menu().

Примеры

#1 Добавим форму поиска в меню

В меню, прикрепленное к области меню header-menu, добавим пункт с формой поиска.

add_filter( 'wp_nav_menu_items', 'change_nav_menu_items', 10, 2 );

function change_nav_menu_items( $items, $args ) {
	if ( 'header-menu' == $args->theme_location ) {
		$items .= '<li>' . get_search_form( false ) . '</li>';
	}

	return $items;
}

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

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

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

wp_nav_menu()
wp_nav_menu_items
wp-includes/nav-menu-template.php 243
$items = apply_filters( 'wp_nav_menu_items', $items, $args );

Где используется хук (в ядре WP)

Использование не найдено.
campusboy 3416youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
1 коммент
  • @ EVGENIY

    Добрый день!
    А как можно вывести первым или на N месте пункт в навигации?

    Ответить13 дней назад #
Здравствуйте, !     Войти . Зарегистрироваться