I'm using custom menu for login/logout here below is my code:

if (is_user_logged_in()) {
  $user = wp_get_current_user();
  echo 'Welcome <strong><a href="http://kolkataonwheelsmagazine.com/wp-admin/index.php" >'.$user->user_firstname.'</a></strong>
  | <a  href="http://kolkataonwheelsmagazine.com/wp-login.php?action=logout&quot;">Logout</a>';
} else { ?>
  <strong><?php wp_loginout(); ?></strong>
  or <a href="<?php bloginfo('url') ?>/wp-login.php?action=register"> <strong>Register</strong></a>
<?php }?>

but problem is :

redirect to login page not current page...

I want it should go to home page after logout. Please help me...


If you only want to modify logout and not login, then use wp_logout_url(). Conversely you can use wp_login_url() for just the login URL.

Example of an logout link:

<a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>

You can still use the function wp_loginout() but the redirect will work on both login and out. But if that is okay it could look like this:

<?php wp_loginout( home_url() ); ?>
| improve this answer | |
  • Thanx Pontus, I hv tried with your code...but its not workin it goes to 404.php page... It is my second post but it's not solved my problem... plz help me... – Gopal Bhattacharjee Jul 10 '12 at 14:57
  • try get_bloginfo('url') in place of home_url() – Deepak Kamat Jan 30 '19 at 9:38

function auto_redirect_after_logout(){
  wp_safe_redirect( home_url() );

This will do the trick.

| improve this answer | |

Pontus Abrahamsson is right, that is a legal code, but here is another one that I'm using in my theme.

<a href="<?php echo wp_logout_url('$index.php'); ?>">Logout</a>
| improve this answer | |
  • Works for me with '/' for homepage, but not sure what $ means here – Fanky Jun 29 at 13:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.