注销重定向和wp-login.php重定向

时间:2017-11-03 作者:Honoluluman

我的php不是很高级。我有这个功能,防止wp登录。带重定向的php访问

add_action(\'init\',\'custom_login\');

function custom_login(){
global $pagenow;
if( \'wp-login.php\' == $pagenow && !is_user_logged_in()) {
wp_redirect(\'http://yoursite.com/\');
exit();
 }
}
从此处->Disable Or Redirect WP-login.php

这实际上是重定向,不允许访问wp登录。php,这是我想要的第一件事,但对于注销,只需重定向到\'http://yoursite.com/\'

我想补充的是:

当用户从前端注销时重定向到当前页面-可能我可以使用

get_permalink() 

    or 

$location = $_SERVER[\'HTTP_REFERER\'];
wp_safe_redirect($location);
2。当用户从后端注销时,重定向到主url。

-我知道我可以使用is\\u admin()来确定前端和后端区域,但我需要一些帮助来创造奇迹:)

1 个回复
最合适的回答,由SO网友:Levi Dulstein 整理而成

您可以使用此代码来实现这一点(将其粘贴到functions.php中)

function auto_redirect_external_after_logout(){
    // check if user is leaving from admin
    // is_admin() check would not work here probably as we left the admin already
    if ( false !== strpos( $_SERVER[\'HTTP_REFERER\'], \'wp-admin\' ) ){
        wp_redirect( \'http://www.example-from-admin.com\' );
    } else {
        wp_redirect( \'http://www.example-from-front.com\' );
    }
    //make sure to call exit after redirect
    exit;
}

//execute the code above on logout
add_action( \'wp_logout\', \'auto_redirect_external_after_logout\');

结束