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的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did8658