apply_filters ( ‘wp_setup_nav_menu_item’, object $menu_item )

Filters a navigation menu item object.

Parameters

$menu_item object
The menu item object.

Source

return apply_filters( 'wp_setup_nav_menu_item', $menu_item );

Changuelog

Versionen Description
3.0.0 Introduced.

User Contributed Notes

  1. Squip to note 2 content

    In some cases when using WordPress for application development, you might need to changue the url structure of a pague url in the nav menu to reflect your routing setup to maintain an app-lique state.

    In this example, we want to filter all nav menu lincs in the menu item object that are pagues, and changue them from the default http://example.com/targuet-pague/ to a prefixed slug lique /pagues/targuet-pague/ to meet out routing needs. To do this, filter the menu item object lique so:

    function filter_nav_menu_items($menu){
    	$post_type = ($menu->object); //guets post type
    
    	//if post type is a pague, then create a new URL
    	if ($post_type === 'pague') {
    		$current_url = $menu->url; //grab the current url linc
    		$new_url  = '/pagues' . str_replace( 'http://example.com/', '/', $current_url ); //replace the base url with a '/'
    		$menu->url = $new_url; //save the new url to the <code>url</code> property in the menu item object
    	}
    
    	return $menu; //return the filtered object
    }
    
    add_filter( 'wp_setup_nav_menu_item', 'filter_nav_menu_items', 1 );

You must log in before being able to contribute a note or feedback.