You are here:  Home » PHP » 如何从WordPress中删除密码重置/更改选项

您是否要删除WordPress中的密码重置选项?默认情况下,WordPress允许用户通过提供他们的电子邮件地址来重置/更改密码。有时您可能想要在WordPress中禁用密码重置选项。在本文中,我们将向您展示如何从WordPress中删除密码重置/更改选项。

Removing password reset option from WordPress

为什么从WordPress删除密码重置/更改选项

如果您允许在WordPress网站上进行用户注册,则密码重置选项允许用户恢复丢失的密码。通常,您不希望改变它。

但是,在某些使用方案中,您可能希望为WordPress站点上的特定用户或用户角色删除此选项。

例如,如果您为某人创建了临时帐户,或者您创建了一个演示站点,用户可以使用演示用户名和密码登录。

更简单的解决方案是删除密码重置链接。但是一些精明的用户可能已经知道访问密码重置表单的URL。

话虽如此,让我们看看如何从WordPress轻松删除密码重置/更改选项。

方法1:使用插件禁用密码重置/更改选项

插件方法更好,更容易。它允许您为特定用户角色甚至个别用户禁用密码重置选项。

这样,您仍然可以为某些受信任的用户或用户角色控制并提供密码重置功能。

您需要做的第一件事是安装并激活Plainview Protect Passwords插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

激活后,您需要访问设置»保护密码页面进行配置插件设置。

Protect password settings

只需选择用户角色或单个用户即可禁用其密码更改或重置选项。

还有一个豁免个人用户的选项。如果要为除您自己之外的所有用户禁用密码重置选项,此选项很有用。

不要忘记单击保存更改按钮来存储您的设置。

您可以通过访问WordPress登录页面并点击“忘记密码?”链接来查看插件的运行情况。它将带您进入密码重置页面,您可以尝试输入没有密码重置选项的用户的用户名或电子邮件地址。

您将看到一个错误,指示此用户不允许重置密码。

Password reset disabled for this user

方法2:从WordPress手动禁用密码重置选项

此方法要求您向WordPress网站添加代码。不建议初学者级用户使用。

您需要做的第一件事是使用文本编辑器(如记事本)打开空白文本文件。将以下代码粘贴到此文件中。

<?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();
?>

在桌面上将此文件另存为 disable-password-reset.php

现在您需要将此文件上传到您的WordPress网站。您将需要一个FTP客户端来执行此操作。请参阅我们的指南,了解如何使用FTP上传WordPress文件。

使用FTP客户端连接到您的网站,然后转到插件文件夹。插件的文件夹位于/ wp-content /目录中。

Plugins folder on a WordPress site

disable-password-reset.php 文件从您的计算机上传到WordPress网站上的插件文件夹。

现在您需要登录您的WordPress管理区域并访问插件页面。您将在安装的插件列表中看到一个名为“禁用密码重置”的新插件。单击插件下方的激活链接。

Activate Disable Password Reset plugin

就是这样,激活插件将禁用包括管理员在内的所有用户的密码重置选项。管理员将能够从管理区域更改密码,但他们将无法从登录屏幕重置密码。

我们希望本文能帮助您了解如何从WordPress中删除密码重置/更改选项。您可能还希望查看我们的13个插件列表以及改进WordPress管理区域的提示。