Wordpress: How can I add url GET parameter to my main menu items Wordpress: How can I add url GET parameter to my main menu items wordpress wordpress

Wordpress: How can I add url GET parameter to my main menu items


The filter hook wp_get_nav_menu_items is used to manipulate the Nav Menus. The post_title used in the example is the title of the Menu (Navigation Label), not of the post/page.

home nav menu

Drop this code in your functions.php file, adjust the post_title and ?my_var=test to your needs. Note that better than functions is to create your own plugin.

add_filter( 'wp_get_nav_menu_items','nav_items', 11, 3 );function nav_items( $items, $menu, $args ) {    if( is_admin() )        return $items;    foreach( $items as $item )     {        if( 'Home' == $item->post_title)            $item->url .= '?my_var=test';    }    return $items;}


I would suggest to use custom menus in Appearance>Menus. It will help you to retain custom URLs with get parameters. You may read it here Wordpress Menu


The problem is that you are attempting to pass a boolean value in your Ajax call with the variable homeclick. GET requests simply use text because the data is passed thru the URL, so if you are wanting a logical/boolean type you can use either "true" and "false" in text or perhaps 0 and 1. Also you have a syntax error, see below.

Try the following:

In you ajax call, fix the syntax as well as set homeclick to "true" as follows:data: ({ homeclick: 'true' }),.

And in your php, change the if condition for variable $homeclick as follows:$homeclick == 'true'.

You may want to consider using a POST method if you want to utilize a boolean.