首页 视频课程 主题开发课程第19章、用户管理 WordPress注册时输入密码与密码找回

WordPress注册时输入密码与密码找回

2023-06-11 / 304阅

WordPress 注册密码和密码找回示例代码

注册密码

方式一:自定义密码

如果您希望用户在注册时自己输入密码,可以使用以下示例代码。

add_action( 'user_register', 'my_custom_password', 10, 1 );

function my_custom_password( $user_id ) {
    $user = get_user_by( 'id', $user_id );
    wp_set_password( $_POST['password'], $user_id );
} 

方式二:随机密码

如果您希望系统随机生成密码并发送给用户,可以使用以下示例代码。

add_action( 'user_register', 'my_random_password', 10, 1 );

function my_random_password( $user_id ) {
    $user = get_user_by( 'id', $user_id );
    $password = wp_generate_password( 12, false );
    wp_set_password( $password, $user_id );
    $message = sprintf( __( 'Dear %s, your password is %s.' ), $user->user_login, $password );
    wp_mail( $user->user_email, sprintf( __( 'Your account on %s' ), get_option( 'blogname' ) ), $message );
} 

密码找回

方式一:自定义密码

如果您希望用户在密码找回时自己输入新密码,可以使用以下示例代码。

add_action( 'init', 'my_reset_password' );

function my_reset_password() {
    if ( isset( $_POST['user_login'] ) && isset( $_POST['password'] ) ) {
        $user = get_user_by( 'login', $_POST['user_login'] );
        wp_set_password( $_POST['password'], $user->ID );
        wp_redirect( site_url( 'login/?password_reset=true' ) );
        exit;
    }
} 

方式二:随机密码

如果您希望系统随机生成密码并发送给用户,可以使用以下示例代码。

add_action( 'init', 'my_reset_password' );

function my_reset_password() {
    if ( isset( $_POST['user_login'] ) ) {
        $user = get_user_by( 'login', $_POST['user_login'] );
        $password = wp_generate_password( 12, false );
        wp_set_password( $password, $user->ID );
        $message = sprintf( __( 'Dear %s, your new password is %s.' ), $user->user_login, $password );
        wp_mail( $user->user_email, sprintf( __( 'Password Reset on %s' ), get_option( 'blogname' ) ), $message );
        wp_redirect( site_url( 'login/?password_reset=true' ) );
        exit;
    }
} 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录