注册时更改USER_LOGIN

时间:2017-11-19 作者:Iurie

我使用第三方插件,将社交登录选项添加到我的博客中。它工作得很好,但我不喜欢那样when users choose to login by their social accounts 用户登录名(user_login ,所以每个部分的第一个字母都是大写的。我自己的user_login 将是“Iurie Malai”,但我想要“Iurie Malai”。

我知道WordPress用户名不区分大小写,但我希望用户登录只能使用小写。我该怎么做?

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

你可以在user_register 通过使用wp_update_user 作用下面是一个简单的例子:

add_action( \'user_register\', \'callback_function\', 10, 1 );

function callback_function( $user_id ) {
    // Get the user by their ID
    $user = get_user_by( \'id\', $user_id );
    // Update their user_login
    wp_update_user(
        array( 
            \'ID\'         => $user_id, 
            \'user_login\' => strtolower( $user->user_login ) 
        )
    );
}

使用pre_user_login 过滤器在将用户登录添加到数据库之前,可以使用上述过滤器过滤用户的登录,如下所示:

add_filter( \'pre_user_login\', \'callback_function\' );
function callback_function( $login ) {
    return strtolower( $login );
}

结束