New WordPress 3 Menus is Awesome feature, I really like it, using WordPress Navigation Menu, we can create more sophisticated menu ever seen. We can arrange our menu more easily and many more. Now we will share How To Add a login/logout link to your navigation menu.
You need to write this code on your functions.php
and the login/logout link will be automatically added on your WordPress Menu Navigation
add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { ob_start(); wp_loginout('index.php'); $loginoutlink = ob_get_contents(); ob_end_clean(); $items .= '<li>'. $loginoutlink .'</li>'; return $items; }
First we add a function add_login_logout_link to the wp_nav_menu_items filter. Then, the ob_start, ob_get_contents and ob_end_clean (lines 4, 6 and 7) functions are output Buffering PHP functions that will intercept the information that would otherwise be sent to the browser. wp_loginout(‘index.php’); will add the logic and html code to login (if not logged in yet), or logout (if logged in). Since we don’t want to send that code to the browser yet, we capture the output (using ob_get_contents) in a variable ($searchform), and finally include that variable as a list item in the menu. via VanWeerd
Resource
http://codex.wordpress.org/Navigation_Menus
Thank you!
Tried to add this but came back with lots of errors in your code above. Removed all the additional formatting and it still didn’t work. Heres the code I’m using
add_filter(wp_nav_menu_items, add_login_logout_link, 10, 2);
function add_login_logout_link($items, $args) {
ob_start();
wp_loginout(‘index.php’);
$loginoutlink = ob_get_contents();
ob_end_clean();
$items .= ”. $loginoutlink .”;
return $items;
}
Thank you 🙂
Your script works great for me, and I’ve added it to my site:
http://www.buildinganonline.com/
Best regards
Michael
Hello again,
Now I was just so happy, but I have just discovered that the (great) link now also appears in my category meny!
What the #¤&% is it doing there and how do I get it to appear only in my page menu ???
Please help out thank you.
Best regards
Michael
🙂
As you will see if you visit my site, I have removed the function, as it makes the login/logout appears in every menu bar you may have activated on your theme.
Usually page menu and category menu bars.
And actually there is a much smarter and much more easy way to solve this matter:
http://codex.wordpress.org/MU_Theme_Login
It’ll work in almost all themes but sadly not mine 🙁
Michael
i want to add my custom code with if cond… how to add it ?
I have been wanting to know how to add all kinds of things to the main menu with a function.
Thanks! I hope this works with javascript! Can’t wait to give it a try…