nav_menu_item_args
Дозволяє змінити параметри (аргументи) окремого елемента меню навігації (wp_nav_menu).
Використання
add_filter( 'nav_menu_item_args', 'wp_kama_nav_menu_item_args_filter', 10, 3); /** * Function for `nav_menu_item_args` filter-hook. * * @param stdClass $args An object of wp_nav_menu() arguments. * @param WP_Post $menu_item Menu item data object. * @param int $depth Відомості про меню. Використовується для padding. * * @return stdClass */ function wp_kama_nav_menu_item_args_filter( $args, $menu_item, $depth ){ // Filter... return $args; }
-
$args
(stdClass) Об’єкт з аргументами, що передаються у функцію wp_nav_menu() .
Наприклад:
-
$item
(WP_Post) Об’єкт із даними пункту меню. Наприклад:
-
$depth
(число) - Рівень пункту меню. Доданий до версії 4.1.0. Використовується для відступів. Верхні пункти меню мають $depth = 0, вкладені у яких $depth = 1 тощо.
Приклади
#1 Додавання іконок до пунктів меню
Додає іконку до посилань меню, прикріплену до області меню primary
:
function change_menu_item_args( $args ) { if ( $args->theme_location == 'primary' ) { $args->link_before = '<span class="dashicons dashicons-admin-links"></span>'; } return $args; } add_filter( 'nav_menu_item_args', 'change_menu_item_args');
Додає іконку до посилань всіх меню, де пункт меню – сторінка, решта елементів виведеться як завжди (без іконки):
function change_menu_item_args( $args, $item ) { if ( $item->object == 'page' ) { $args->link_before = '<span class="dashicons dashicons-admin-links"></span>'; } return $args; } add_filter( 'nav_menu_item_args', 'change_menu_item_args', 10, 2);
Додає іконку до посилань верхнього рівня у всіх меню:
function change_menu_item_args( $args, $item, $depth ) { if ( $depth === 0 ) { $args->link_before = '<span class="dashicons dashicons-admin-links"></span>'; } return $args; } add_filter( 'nav_menu_item_args', 'change_menu_item_args', 10, 3);
Додає іконки до посилань пунктів меню, які задовольняють всі три умови:
function change_menu_item_args( $args, $item, $depth ) { if ( $args->theme_location == 'primary' && $item->object == 'page' && $depth === 0 ) { $args->link_before = '<span class="dashicons dashicons-admin-links"></span>'; } return $args; } add_filter( 'nav_menu_item_args', 'change_menu_item_args', 10, 3);
список змін
З версії 4.4.0 | Введено. |
Де викликається хук
nav_menu_item_args
Де використовується хук у WordPress
Використання не знайдено.