Exciting News! Flipper Code is now WePlugins! Same commitment to excellence, brand new identity.

How to use nav_menu_link_attributes filter in WordPress

Sandeep Kumar Mishra
Sandeep Kumar Mishra
April 5, 2023
5 minutes read

Working with WordPress hooks is like adding your own secret ingredient to a recipe. It allows you to customize and enhance your site without altering the core code. One such hook is the nav_menu_link_attributes filter, which filters the HTML attributes applied to a menu item’s anchor element. To utilize this hook, register it using add_filter in your theme’s functions.php or a custom WordPress plugin. At WePlugins, we always recommend creating a custom plugin for hooks to ensure nothing breaks during theme updates.

Live Example 1: Adding Specific Menu Attributes

Here’s how you can add specific attributes to certain menu items. In this example, menu items with IDs 34 and 39 will have an onClick attribute.

    function weplugins_add_specific_menu_atts( $atts, $item, $args ) {
        $menu_items = array(34,39);
        if (in_array($item->ID, $menu_items)) {
            $atts['onClick'] = 'return false';
        }
        return $atts;
    }
    add_filter( 'nav_menu_link_attributes', 'weplugins_add_specific_menu_atts', 10, 3 );
    

Live Example 2: Modifying Default Attributes

Below is how you can modify menu attributes according to your needs. Update the $atts variable as per your site’s requirements.

    function weplugins_modify_nav_menu_link_attributes_defaults($atts, $menu_item, $args, $depth) { 
        // Update the $atts variable conditionally if needed.
        return $atts; 
    }
    add_filter( "nav_menu_link_attributes", "weplugins_modify_nav_menu_link_attributes_defaults", 10, 4 );
    

Live Example 3: Removing a Hook Callback

To remove a previously added filter, use remove_filter. Ensure the callback function name, priority, and number of arguments match.

    remove_filter( "nav_menu_link_attributes", "weplugins_modify_nav_menu_link_attributes_defaults", 10, 4 );
    

If you need any customizations or run into issues using this hook, feel free to contact us for assistance. We’re here to help make your WordPress site truly yours!

Access Premium WordPress Plugins

Sandeep Kumar Mishra

Sandeep Kumar Mishra

Sandeep Kumar Mishra writes about WordPress and Artificial Intelligence, offering tips and guides to help you master your website and stay updated with the latest tech trends.

Explore the latest in WordPress

Trying to stay on top of it all? Get the best tools, resources and inspiration sent to your inbox every Wednesday.