WordPress禁止特定用户修改密码的方法
发布时间:2014-12-20 14:56:28 作者:佚名 我要评论
这篇文章主要为大家介绍了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(!emptyempty($_POST['pass1'])) $_POST['pass1'] = '';
if(!emptyempty($_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;
}
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(!emptyempty($_POST['pass1'])) $_POST['pass1'] = '';
if(!emptyempty($_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' );
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的模板非常灵活,一个优秀的模板所实现的功能往往超出你的想象。这篇文章说说在WordPress里调用文章的发布日期。2009-12-28
Wordpress忘记后台密码怎么办 轻松找回WP密码的方法
有的站长很马虎.时常忘记密码.那如何解决呢.下面我们来看一下2012-07-23WordPress中J.parentNode为空或不是对象的解决方法
最近摆弄WP,感受到其系统的灵活性和插件的功能强大,客户要求能够在线播放本地服务器上的flv格式视频,经过比较后选择了插件 flash-video-player,用IE6打开首页时出现:j.par2010-03-29- 不少使用WordPress程序的博主们连主题也是用老外的,而这个过程往往会出现一些小问题。当我们在寻找到一份漂亮主题安装后,发现博文标题无法支持中文,原因是老外的主题的2011-05-01
- WordPress在使用一切正常,无意查看源代码发现中文字符为乱码。潜意识告诉我们,应该是编码问题,问题应该是主题模板的变法,于是把所有模板文件都用EDITPLUS另存问UFT-8变2010-06-06
- Wordpress自带着wp_tag_cloud()函数,但只在页面侧边显示往往就不够了.需要一个单页来放所有的Tags2010-01-24
- 本打算将导航菜单里的重要链接修改一下颜色以加亮显示。虽然知道修改应该是在链接更多选项里CSS类中进行,但具体设置方法还是不太清楚,尝试求助搜索引擎也没找什么有价值2012-04-25
- 网上搜了一下“忘记wordpress的登录密码”, 可以找到一大堆的解决方法,比如通过邮件讨回,但这个需要服务器支持,还有通过直接访问数据库更改的,但也至少需要去安装个my2010-05-28
- WordPress发送邮件的函数是wp_mail(),默认以纯文本(text/plain)格式发送,通过wp_mail()提供的filter函数可以更改为以HTML格式发送,也可以通过制定wp_mail()的第四个参2012-07-26
- 从 WP 2.8.5 开始文件上传使用预定义的文件扩展名列表过滤,管理员也不例外。2010-01-18
最新评论