wp_nav_menu_(menu_slug)_items
Дозволяє змінити вже згенерований HTML код пунктів кожного меню окремо на підставі його slug .
Через фільтр проходить приблизно такий вміст:
<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_(menu_slug)_items', 'wp_kama_nav_menu_slug_items_filter', 10, 2); /** * Function for `wp_nav_menu_(menu_slug)_items` filter-hook. * * @param string $items HTML content list для menu items. * @param stdClass $args An object containing wp_nav_menu() arguments. * * @return string */ function wp_kama_nav_menu_slug_items_filter( $items, $args ){ // Filter... return $items; }
-
$items
(рядок) - HTML-код пунктів конкретного меню.
-
$args
(stdClass) -
Об’єкт із параметрами, переданими функції
wp_nav_menu() .
Приклади
#1 Додамо форму пошуку в меню
Нехай меню має назву “Моє меню”, тоді назва фільтра буде:
// Без плагіна транслітерації wp_nav_menu_%d0%bc%d0%be%d1%91-%d0%bc%d0%b5%d0%bd%d1%8e_items // З плагіном транслітерації wp_nav_menu_moyo-menyu_items
Додамо в меню slug = moyo-menyu
форму пошуку:
add_filter( 'wp_nav_menu_moyo-menyu_items', 'change_nav_my_menu_items', 10, 2); function change_nav_my_menu_items( $items, $args ) { $items .= '<li>' . get_search_form(false). '</li>'; return $items; }
список змін
З версії 3.0.0 | Введено. |
Де викликається хук
wp_nav_menu_(menu_slug)_items
Де використовується хук у WordPress
Використання не знайдено.