Logout redirect to home page

时间:2012-07-10 作者:Gopal Bhattacharjee

我正在使用自定义菜单进行登录/注销,下面是我的代码:

<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>
但问题是:

重定向到登录页面而不是当前页面。。。

我想它应该在注销后转到主页。请帮帮我。。。

4 个回复
SO网友:Sharif Mohammad Eunus

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

function auto_redirect_after_logout(){
  wp_safe_redirect( home_url() );
  exit;
}
这样就可以了。

SO网友:Pontus Abrahamsson

如果只想修改注销而不想登录,请使用wp_logout_url(). 相反,您可以使用wp_login_url() 仅用于登录URL。

注销链接示例:

<a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>
您仍然可以使用函数wp\\u loginout(),但重定向将对登录和退出都有效。但如果可以的话,它可能是这样的:

<?php wp_loginout( home_url() ); ?>

SO网友:amit

阿伯拉罕松是对的,这是一个法律准则,但这是我在主题中使用的另一个准则。

<a href="<?php echo wp_logout_url(\'$index.php\'); ?>">Logout</a>

SO网友:amarinediary

自Wordpress4.2.0 引入了注销挂钩过滤器logout_redirect.

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

筛选注销重定向URL。

来源@https://developer.wordpress.org/reference/hooks/logout_redirect//ul>

Parameter$redirect_to(string) 重定向目标URL
$requested_redirect_to(string) 请求的重定向目标URL作为参数传递
$user(WP_User) 这个WP_User 正在注销的用户的对象

简单用例场景

<?php
add_filter( \'logout_redirect\', function() {
    return esc_url( home_url() );
} ); ?>
使用匿名函数,PHP>;5.3必需的

了解更多信息同样适用于登录login_redirect 引入于3.0.0.

结束

相关推荐

Redirect Site Geologically

我正在使用WordPress mu,需要根据用户的地理位置重定向我的网站。例如,如果你从美国进入雅虎,它将进入雅虎。com,但如果你从印度访问该网站,它将进入。雅虎。com或在英国到英国。雅虎。com等。有没有办法让我的WordPress这样做?