wordpress - 禁用特定用户的密码更改选项
问题描述
如何禁用 Wordpress 中特定用户的密码更改选项?
我有一个用户,我每周为多个用户设置一个新密码。但有些人试图更改此用户的密码。我不希望这样 - 但仅限于这个特定的用户个人资料。所有其他用户都应该能够更改他们的密码。
我尝试了不同的插件,但它们都不起作用。
如果您能对此提供帮助,非常感谢!
解决方案
将此添加到您的 function.php 文件中
class Password_Reset_Removed
{
function __construct()
{
add_filter( 'show_password_fields', array( $this, 'disable' ) );
add_filter( 'allow_password_reset', array( $this, 'disable' ) );
}
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;
}
}
$pass_reset_removed = new Password_Reset_Removed();
我们刚刚从 WordPress 后端删除了更改密码的字段。现在,一些用户还会尝试使用丢失密码?登录页面的表格。
为了防止他们这样做,我们将删除丢失的密码链接并通过添加以下代码禁用丢失的密码表单
function remove_lost_your_password($text)
{
return str_replace( array('Lost your password?', 'Lost your password'), '', trim($text, '?') );
}
add_filter( 'gettext', 'remove_lost_your_password' );
function disable_reset_lost_password()
{
return false;
}
add_filter( 'allow_password_reset', 'disable_reset_lost_password');
注意 - 您可以更新用户 ID - 根据您的要求
推荐阅读
- ios - 圆形图像在第一个表刷新时是方形的
- javascript - React 无法显示 json - 数据被分配了一个值但从未使用过
- node.js - express JS 应用程序 - 我们如何在 express 中使用普通 HTML 而不是模板引擎
- javascript - 在 php 中选择其他搜索选择标签时填充其他文本框
- json - 用于解析 JSON 的 SWIFT 模型
- javascript - 如何正确设置 system.js
- postgresql - postgresql 窗口函数计数
- spring-boot - Web 应用程序的 Springboot 和 Comodo https 配置
- yaml - k8s 网关主机上的 istio 值
- html - 动态手风琴不能完全工作