WordPress禁止通过邮件重置密码方法
如果你忘记了自己的管理员密码,最简单的重置方法就是在 wordpress 登陆界面点击忘记密码,通过发送邮件的方法重置,不过便利的同时也会带来一些弊端,比如恶意点击重置,导致收到骚扰邮件,甚至通过邮件来获取后台,所以有时候为了安全,我们最好禁用 WordPress 重置密码功能。
如果要禁止所有用户使用这个功能,可以在主题的 functions.php 添加下面的代码:
function disable_password_reset() {
return false;
}
add_filter ( 'allow_password_reset', 'disable_password_reset' );
当用户再次点击重置密码时,就会提示不能重设该用户的密码,邮件重置密码就禁用掉了如上图。
禁止特定用户
如果仅仅是禁止某些特定的用户使用这个功能,可以在主题的 functions.php 添加下面的代码:
add_filter('allow_password_reset', 'no_reset', 10, 2 );
function no_reset( $bool, $user_id ) {
$ids = array( 3, 10 ); // 要禁止的用户ID
if ( in_array( $user_id, $ids ) )
return false;
return true;
}
扩展应用
那么如何才能禁止用户编辑“我的个人资料”中的电子邮件,今天就分享下,通过 jQuery 给表单添加禁用 disabled="disabled" 或 只读 readonly="readonly" 属性来禁止用户编辑字段的方法。将下面的代码添加到主题的 functions.php 文件即可:
/**
* WordPress 禁止用户编辑个人资料的某些字段
*/
global $pagenow;
if ( !current_user_can( 'manage_options' ) && $pagenow == 'profile.php' ) {
add_action( 'admin_footer', 'disable_userprofile_fields' );
}
function disable_userprofile_fields() {
?>
<script>
jQuery(document).ready( function($) {
//禁止编辑“电子邮件”(input 举例)
if ( $('input[name=email]').length ) {
$('input[name=email]').attr("disabled", "disabled");
}
//禁止编辑“个人说明”(textarea 举例)
if ( $('textarea[name=description]').length ) {
$('textarea[name=description]').attr("readonly", "readonly");
}
//禁止编辑“公开显示为”(select 举例)
if ( $('select[name=display_name]').length ) {
$('select[name=display_name]').attr("disabled", "disabled");
}
});
</script>
<?php
}
以上代码可以实现 非管理员用户无法编辑 电子邮箱、个人说明、公开显示为 。你可以根据自己的需要进行修改,只要查看源代码找到表单的 name 属性,修改一下就可以禁止修改任何字段。
http://xzh.i3geek.com1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途及非法用途,否则后果自负!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"qq301.com",如遇到无法解压的请联系管理员!
资源客是一个优秀的分享资源站,本站资源均为各位友友分享而来,特殊原创会标明如有侵犯版权等可联系删除
资源客 » WordPress禁止通过邮件重置密码方法
资源客 » WordPress禁止通过邮件重置密码方法