邮箱用户名登录php,让WordPress支持用户名或邮箱登录

//让WordPress支持用户名或邮箱登录

function dr_email_login_authenticate( $user, $username, $password ) {

if ( is_a( $user, 'WP_User' ) )

return $user;

if ( !empty( $username ) ) {

$username = str_replace( '&', '&', stripslashes( $username ) );

$user = get_user_by( 'email', $username );

if ( isset( $user, $user->user_login, $user->user_status ) && 0 == (int) $user->user_status )

$username = $user->user_login;

}

return wp_authenticate_username_password( null, $username, $password );

}

remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );

add_filter( 'authenticate', 'dr_email_login_authenticate', 20, 3 );

//替换“用户名”为“用户名 / 邮箱”

function username_or_email_login() {

if ( 'wp-login.php' != basename( $_SERVER['SCRIPT_NAME'] ) )

return;

?>

// Form Label

if ( document.getElementById('loginform') )

document.getElementById('loginform').childNodes[1].childNodes[1].childNodes[0].nodeValue = '<?php echo esc_js( __( '用户名/邮箱', 'email-login' ) ); ?>';

// Error Messages

if ( document.getElementById('login_error') )

document.getElementById('login_error').innerHTML = document.getElementById('login_error').innerHTML.replace( '<?php echo esc_js( __( '用户名' ) ); ?>', '<?php echo esc_js( __( '用户名/邮箱' , 'email-login' ) ); ?>' );

}

add_action( 'login_form', 'username_or_email_login' );

//让WordPress支持用户名或邮箱登录

function dr_email_login_authenticate( $user, $username, $password ) {

if ( is_a( $user, 'WP_User' ) )

return $user;

if ( !empty( $username ) ) {

$username = str_replace( '&', '&', stripslashes( $username ) );

$user = get_user_by( 'email', $username );

if ( isset( $user, $user->user_login, $user->user_status ) && 0 == (int) $user->user_status )

$username = $user->user_login;

}

return wp_authenticate_username_password( null, $username, $password );

}

remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );

add_filter( 'authenticate', 'dr_email_login_authenticate', 20, 3 );

//替换“用户名”为“用户名 / 邮箱”

function username_or_email_login() {

if ( 'wp-login.php' != basename( $_SERVER['SCRIPT_NAME'] ) )

return;

?>

// Form Label

if ( document.getElementById('loginform') )

document.getElementById('loginform').childNodes[1].childNodes[1].childNodes[0].nodeValue = '<?php echo esc_js( __( '用户名/邮箱', 'email-login' ) ); ?>';

// Error Messages

if ( document.getElementById('login_error') )

document.getElementById('login_error').innerHTML = document.getElementById('login_error').innerHTML.replace( '<?php echo esc_js( __( '用户名' ) ); ?>', '<?php echo esc_js( __( '用户名/邮箱' , 'email-login' ) ); ?>' );

}

add_action( 'login_form', 'username_or_email_login' );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值