好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress禁止特定用户修改密码方法 - WordPress

WordPress禁止特定用户修改密码方法

有时我们希望有些用户不能修改密码,而有些用户是可以修改密码的,下面我来给大家介绍关于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 empty ( $_POST [ 'pass1' ]))  $_POST [ 'pass1' ] =  '' ;     if (! empty 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禁止特定用户修改密码方法 - WordPress的详细内容...

  阅读:55次