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
Використання не знайдено.
