Hi Folks!
I’m working with the nav_menu_link_attributes
filter to add a custom data-toggle
attribute assigned from a ACF field to a menu-item link, but am encountering a PHP fatal error. For some reason, inclusion of the $item parameter is causing the following error:
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Too few arguments to function App\{closure}(), 2 passed in /app/wp-includes/class-wp-hook.php on line 288 and exactly 3 expected
Passing $atts['data-toggle'] = 'foo'
without the $item param works fine. Though $args->theme_location == 'primary_navigation'
doesn’t seem to exclude the other navigation.
The sample code is below:
add_filter('nav_menu_link_attributes', function( $atts, $item, $args ) {
if($args->theme_location == 'primary_navigation')
$data_value = esc_html( get_field('data_attribute_value', $item) );
$atts['data-toggle'] = $data_value;
return $atts;
}, 10, 3);
I would appreciate any insights, from what I can tell, the $item param isn’t being passed to the function, but I’m not sure why?