现在 WordPress 站点后台登录可以使用用户名或管理员邮箱地址登录,但是管理员或用户的邮箱地址很容易就泄露了,特别是很多博主站长都习惯使用管理员邮箱地址进行对外评论或回复,这样一来就容易别他人爆破密码,所以我们可以很有必要禁止 WordPress 后台使用邮箱地址登录。具体方法如下:
将以下代码添加到当前主题的functions.php文件中并保存更新文件即可:
// 修改 WordPress 用户名过滤机制,禁止使用邮箱登录后台
function ygj_deny_email_login($username, $raw_username, $strict) {
if (filter_var($raw_username, FILTER_VALIDATE_EMAIL)) {
header('Location: https://boke123.net/');
}else {
return $username;
}
}
add_filter('sanitize_user', 'ygj_deny_email_login', 10, 3);
以上代码就是说如果用户名中输入了邮箱地址,那么点击登录的时候就会跳转到boke123导航以达到禁止邮箱地址登录的目的。当然你也可以修改成自己的首页或其他网址。
另外,以上代码是禁止电子邮箱地址登录WordPress后台,并跳转到指定的网页,但是登录框中还是会显示“用户名或电子邮箱地址”,如果介意的话,可以将以下代码添加到当前主题的functions.php文件中并保存更新文件即可将其改为“用户名”。
//修改WordPress后台登录框的用户名或电子邮箱地址为用户名
function cc_login_username_label_change( $translated_text, $text, $domain ) {
if ($text === 'Username or Email Address') {
$translated_text = __( 'Username' );
}
return $translated_text;
}
function cc_login_username_label() {
add_filter( 'gettext', 'cc_login_username_label_change', 20, 3 );
}
add_action( 'login_head', 'cc_login_username_label' );
以上代码来自:No Login by Email Address插件