I’m trying to hook into 'nav_menu_item_args'
filter in method start_el()
in class Walker_nav_menu
:
/**
* Filters the arguments for a single nav menu item.
*
* @since 4.4.0
*
* @param stdClass $args An object of wp_nav_menu() arguments.
* @param WP_Post $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
*/
$args = apply_filters( 'nav_menu_item_args', $args, $item, $depth );
Here is my code:
function filter_nav_menu_item_args($args, $item, $depth)
{
if ($args->menu->slug == 'countries')
{
$args->link_before = print_r($item, true); // <-- Outputs nothing
}
return $args;
}
add_filter('nav_menu_item_args', 'filter_nav_menu_item_args' );
But I get problem when trying to use the $item
argument. It’s empty. And I’m very sure I’m calling a menu. The $args
array contains all the right values.
So, is this a bug? Or am I doing something wrong?