如果已登录,则尝试登录时,表单仅抖动-错误消息保持为空

时间:2015-07-18 作者:OldStick

我已登录(使用角色管理员)。如果我再次尝试使用wp登录登录。php表单刚刚抖动-表单上方的错误消息仍然为空。根据这个论坛上的建议,我在我的主题函数中添加了以下代码。php-有效:/*如果用户已登录,则为新登录尝试创建错误消息*/

add_filter(\'login_errors\',\'login_error_message\');
function login_error_message($error){
    //create error message for already logged in
    $error = "You are already logged in";
    return $error;
}

2 个回复
SO网友:Ihor Vorotnov

我建议检查用户是否已经在wp登录时登录,而不是绕过错误消息。php加载。如果用户已登录-将其重定向到wp admin。您甚至可以添加另一个检查,例如,仅将管理员重定向到wp admin,将订阅者重定向到站点主页等。

add_action( \'login_head\', \'wpse_redirect_login\', 1 );
function wpse_redirect_login() {
    if( is_user_logged_in() ) {
        wp_redirect( admin_url() );
    }
}
老实说,这是我一直想知道的问题之一,为什么它不在核心。

SO网友:Matt van Andel

您可以检测当前用户是否已登录,并使用以下命令将其重定向到其配置文件页面…

add_action(\'wp_loaded\',\'wp_login_redirect_logged_in_user\',0);
public static function wp_login_redirect_logged_in_user(){
    global $pagenow;
    if ( in_array($pagenow, array(\'wp-login.php\', \'wp-register.php\') ) ) {
        if( is_user_logged_in() ) {
            $profile_page = get_edit_user_link( get_current_user_id() );
            wp_safe_redirect( $profile_page );
            die();
        }
    }
}

结束

相关推荐

Problem with footer and login

我在页面登录时有页脚问题,我的帐户不在底部http://www.budoor66.com/login/还有,当客户不是会员时,如何在登录中显示此文本(仅限会员访问,若要查看和购买会员套餐,请单击此处)当他登录时就消失了帮助我:/