{"id":4751,"date":"2025-02-05T18:58:18","date_gmt":"2025-02-05T18:58:18","guid":{"rendered":"https:\/\/ibex.tech\/cloud\/?p=4751"},"modified":"2025-04-09T12:23:28","modified_gmt":"2025-04-09T11:23:28","slug":"menu-hooks","status":"publish","type":"post","link":"https:\/\/ibex.tech\/cloud\/wordpress\/menu\/menu-hooks","title":{"rendered":"Menu hooks"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Change which menu is used if user logged in<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>add_filter('wp_nav_menu_args', 'my_wp_nav_menu_args');\nfunction my_wp_nav_menu_args ($args)\n{\n  if (is_user_logged_in())\n  {\n    \/\/USER IS LOGGED IN\n    if (strtolower($args&#91;'menu']) === (strtolower'HeaderMenu_LoggedOut'))  \/\/Do our check in lowercase because it seems we get given the menu slug which is lowercase\n    {\n      if (is_nav_menu('HeaderMenu_LoggedIn'))\n        $args&#91;'menu'] = 'HeaderMenu_LoggedIn';\n    }\n  }\n\n  return $args;\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Adding items to a menu<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/***********************************************************\n\/\/***********************************************************\n\/\/********** ADD LOG IN \/ LOG OUT TO THE MAIN MENU **********\n\/\/***********************************************************\n\/\/***********************************************************\nadd_filter( 'wp_nav_menu_items', 'wp_nav_menu_items_loginout_menu_link', 10, 2 );\nfunction wp_nav_menu_items_loginout_menu_link( $items, $args )\n{\n  \/\/print_r($args);\n  if ($args-&gt;menu-&gt;name == 'Menu-Header')     \/\/&lt;&lt;&lt;The name you have used for the menu\n  {\n    if (is_user_logged_in())\n        $items .= '&lt;li&gt;&lt;a href=\"\/log-out\"&gt;'. __(\"Log Out\") .'&lt;\/a&gt;&lt;\/li&gt;';     \/\/&lt;&lt;&lt;Log out URL (you can use wp_logout_url() or your own link\n    else\n        $items .= '&lt;li&gt;&lt;a href=\"'. wp_login_url(get_permalink()) .'\"&gt;'. __(\"Log In\") .'&lt;\/a&gt;&lt;\/li&gt;';    \/\/&lt;&lt;&lt;Log out URL (you can use wp_login_url(get_permalink()) or your own link\n  }\n  return $items;\n}\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Change which menu is used if user logged in Adding items to a menu<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[365],"tags":[],"class_list":["post-4751","post","type-post","status-publish","format-standard","hentry","category-menu"],"_links":{"self":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/comments?post=4751"}],"version-history":[{"count":9,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4751\/revisions"}],"predecessor-version":[{"id":4851,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4751\/revisions\/4851"}],"wp:attachment":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/media?parent=4751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/categories?post=4751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/tags?post=4751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}