6

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

<li>
      <?php
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 }?>
    </li>

but problem is :

redirect to login page not current page...

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

8
add_action('wp_logout','auto_redirect_after_logout');

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

This will do the trick.

6

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() ); ?>
2
  • 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
3

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>
1
  • Works for me with '/' for homepage, but not sure what $ means here – Fanky Jun 29 '20 at 13:15
1

Since Wordpress 4.2.0 a logout hook filter was introduced logout_redirect.

apply_filters( 'logout_redirect', string $redirect_to, string $requested_redirect_to, WP_User $user )

Filters the log out redirect URL.

Parameter Description
$redirect_to (string) The redirect destination URL.
$requested_redirect_to (string) The requested redirect destination URL passed as a parameter.
$user (WP_User) The WP_User object for the user that's logging out.

Simple use case scenario

<?php
add_filter( 'logout_redirect', function() {
    return esc_url( home_url() );
} ); ?>

Anonymous functions used, PHP > 5.3required


Learn more

  • The same apply for logins, with a login_redirect introduced in 3.0.0.

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.