有些WordPress站长对外开放用户注册,所以需要用到“忘记密码”(密码重置、密码找回)功能。如果你的WordPress网站只有你一个管理员,或者不想让其他用户通过“忘记密码”来找回密码,应该怎么做才能禁止密码重置找回功能和隐藏后台登录中的忘记密码链接呢?下面boke112百科就跟大家一起来学习一下。
WordPress怎么禁止密码重置找回功能?
禁止WordPress后台忘记密码功能,我们只需要采用以下方法中的任一种,然后再使用密码重置找回功能就会显示“不能重设该用户的密码”错误提示,从而达到禁止密码重置目的。
方法一、代码法
将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
function disable_password_reset() {
return false;
}
add_filter ( 'allow_password_reset', 'disable_password_reset' );
以上代码来自@知更鸟
方法二、插件法
1、在站点/wp-content/plugins/目录下创建一个PHP文件并命名为disable-password-reset.php。
2、在disable-password-reset.php文件中添加以下代码,并保存文件。
<?php
/*
* Plugin Name: Disable Password Reset
* Description: Disable password reset functionality. Only users with administrator role will be able to change passwords from inside admin area.
* Version: 1.0
* Author: WPBeginner
* Author URI: http://wpbeginner.com
*/
class Password_Reset_Removed
{
function __construct()
{
add_filter( 'show_password_fields', array( $this, 'disable' ) );
add_filter( 'allow_password_reset', array( $this, 'disable' ) );
add_filter( 'gettext', array( $this, 'remove' ) );
}
function disable()
{
if ( is_admin() ) {
$userdata = wp_get_current_user();
$user = new WP_User($userdata->ID);
if ( !empty( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' )
return true;
}
return false;
}
function remove($text)
{
return str_replace( array('Lost your password?', 'Lost your password'), '', trim($text, '?') );
}
}
$pass_reset_removed = new Password_Reset_Removed();
?>
以上代码来自@WPBEGINNER
3、登录进入WordPress后台 >> 点击左侧导航菜单“插件 – 已安装的插件”>> 点击插件列表中的Disable Password Reset插件中的“启用”即可。
总结
不管是采用方法一还是方法二,在WordPress后台登录框中的“忘记密码?”链接都还在,点击进入密码重置页面还是可以输入用户名或电子邮箱地址,不过只有点击【获取新密码】按钮时就会显示“不能重设该用户的密码”。具体如下图所示:
WordPress如何隐藏后台登录中的忘记密码链接?
既然我们上文已经把WordPress后台的“忘记密码”功能禁止了,那么在WordPress后台登录框中就没必要显示“忘记密码”这个链接了。我们可以采取以下两种方法来隐藏:
方法一、隐藏“|忘记密码?”链接
将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
function hide_password_reset() { ?>
<style>
#nav a:nth-child(2) {
display: none;
}
.login #nav {
width: 30px;
height: 20px;
margin: 24px auto 0;
overflow: hidden;
}
</style>
<?php }
add_action('login_head', 'hide_password_reset');
以上代码来自@知更鸟
方法二、隐藏“注册 | 忘记密码?”链接
将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
function wpmima_login_head() {?>
<style type="text/css">
#nav{ display: none;}
</style>
<?php }
add_action('login_head', 'wpmima_login_head');