可能会有人用公共帐号登录,进入后台修改密码,导致其他人无法使用这帐号。在WordPress中,如何禁止特定用户修改密码呢?
方法很简单,去掉这个公共帐号修改密码的权限即可,我们可以在主题目录下的functions.php中添加以下代码:
$disable_ids = array( 2 ); // 禁止修改密码的用户id global $current_user; get_currentuserinfo(); if ( in_array( $current_user->ID, $disable_ids ) ) { // 后台个人资料页,隐藏密码输入框 add_filter('show_password_fields', create_function('$nopass_profile', 'return false;')); // 防止通过其他手段提交密码修改 add_action('personal_options_update', 'no_save_pwd'); } function no_save_pwd( $user_id ) { if(!empty($_POST['pass1'])) $_POST['pass1'] = ''; if(!empty($_POST['pass2'])) $_POST['pass2'] = ''; } // 禁止使用密码找回功能 add_filter('allow_password_reset', 'no_reset_pwd', 10, 2); function no_reset_pwd( $allow, $user_id ) { global $disable_ids; if ( in_array( $user_id, $disable_ids ) ) $allow = false; return $allow; }
以上代码第1行中的 2 是要禁止其修改密码的用户id,如果要禁止多个用户修改密码,多个id可以用半角逗号隔开,如 array( 2, 10 )。需要说明的,禁止修改密码的用户角色不能是管理员,因为管理员可以进入后台 – 外观 – 编辑,修改functions.php中的代码。
如果你想禁止某用户编辑个人资料我们可以参考下面方法 我们在当前主题的functions.php中添加以下代码:
function disable_user_profile() { if ( is_admin() ) { $user = wp_get_current_user(); if ( 2 == $user->ID ) // 2 改成该用户的id wp_die( '禁止访问' ); } } add_action( 'load-profile.php', 'disable_user_profile' );
当然,如果你使用前台的用户管理功能,以上方法就失效了
拥有多年WordPress博客/企业建站开发经验,独树一帜的设计,提供最专业的网站设计方案;原创的主题标签语义化,增强网站优化效果。
增强用户体验、提高品牌形象给人留下深刻的印象,那就选择我们,我们的每一款主题都是独一无二的,都有自己的灵魂,每款主题都有各自的配色方案。
遵循现代网页设计的趋势,所有主题都提供完整的响应式布局,优化大桌面显示器以及对平板和智能手机的支持,从而提供一致性的用户体验。
长期及时地在线售后服务和免费升级更新,确保您的网站始终运行在最佳状态,24小时QQ在线的沟通方式免去您的后顾之忧,替您节省网站维护成本。
目前还没有评。