WordPress 如何实现纯代码添加禁止某些用户登录的方法教程

2021-12-26 0 482

在某些特殊情况下某些用户损害了网站的利益,你可能就需要禁止他们登录网站,WordPress博客如何实现免插件纯代码添加禁止某些用户登录的方法,也就是WordPress 如何实现纯代码添加禁止某些用户登录的方法教程

WordPress博客属于一个比较成熟的开源程序,安全性还是比较高的,官方也一直在更新维护,而且还是免费,WordPress博客的DIY可塑性很牛,由于WordPress博客默认很多功能是没有的,比如这个“WP禁止某些用户登录”都是需要自己DIY加进去的,当然了如果你觉得麻烦伸手党可以直接下载安装 Disable Users 或者 User Control 这2个插件的任意一个来实现。

下面爱要网为大家谈一谈WordPress博客如何实现纯代码添加禁止某些用户登录的方法,由于插件太多会导致网站的效率降低,网站打开速度越来越卡,或者越来越慢,我们不需要利用插件只需要一串代码即可实现。

我们只需要在在当前使用的主题目录下的“ functions.php”中加入以下代码即可。

/**  * WordPress 禁止某些用户登录  * https://www.ypojie.com/5569.html  */  //在资料页面添加选项  function lxtx_rc_admin_init(){  // 编辑用户资料  add_action( 'edit_user_profile', 'lxtx_rc_edit_user_profile' );  add_action( 'edit_user_profile_update', 'lxtx_rc_edit_user_profile_update' );  }  add_action('admin_init', 'lxtx_rc_admin_init' );    //在个人资料页面添加一个复选框  function lxtx_rc_edit_user_profile() {  if ( !current_user_can( 'edit_users' ) ) {  return;  }  global $user_id;  // 用户不能禁止自己  $current_user = wp_get_current_user();  $current_user_id = $current_user->ID;  if ( $current_user_id == $user_id ) {  return;  }  ?>  <h3>权限设置</h3>  <table class="form-table">  <tr>  <th scope="row">禁止用户登录</th>  <td><label for="lxtx_rc_ban"><input name="lxtx_rc_ban" type="checkbox" id="lxtx_rc_ban"  <?php if (lxtx_rc_is_user_banned( $user_id )){echo 'checked="checked"';} ?> /> 请谨慎操作,选中则禁止!</label></td>  </tr>  </table>  <?php  }    //添加一个函数来将这个选项的值保存到数据库中  function lxtx_rc_edit_user_profile_update() {  if ( !current_user_can( 'edit_users' ) ) {  return;  }  global $user_id;  // 用户不能禁止自己  $current_user = wp_get_current_user();  $current_user_id = $current_user->ID;  if ( $current_user_id == $user_id ) {  return;  }  // 锁定  if( isset( $_POST['lxtx_rc_ban'] ) && $_POST['lxtx_rc_ban'] = 'on' ) {  lxtx_rc_ban_user( $user_id );  } else { // 解锁  lxtx_rc_unban_user( $user_id );  }  }    //禁止用户  function lxtx_rc_ban_user( $user_id ) {  $old_status = lxtx_rc_is_user_banned( $user_id );  // 更新状态  if ( !$old_status ) {  update_user_option( $user_id, 'lxtx_rc_banned', true, false );  }  }    //解禁用户  function lxtx_rc_unban_user( $user_id ) {  $old_status = lxtx_rc_is_user_banned( $user_id );  // 更新状态  if ( $old_status ) {  update_user_option( $user_id, 'lxtx_rc_banned', false, false );  }  }    //判断用户是否被禁止  function lxtx_rc_is_user_banned( $user_id ) {  return get_user_option( 'lxtx_rc_banned', $user_id, false );  }    //阻止已禁止的用户登录  function lxtx_rc_authenticate_user( $user ) {  if ( is_wp_error( $user ) ) {  return $user;  }  // 如果用户被禁止,则返回错误提示  $banned = get_user_option( 'lxtx_rc_banned', $user->ID, false );  if ( $banned ) {  return new WP_Error( 'lxtx_rc_banned', __('抱歉,该用户被禁止登录!请联系站长解禁。', 'rc') );  }  return $user;  }  //将该函数挂载到 wp_authenticate_user 钩子  add_filter( 'wp_authenticate_user', 'lxtx_rc_authenticate_user', 1 );  

在我们的当前主题添加上面的代码后,我们即可在后台“编辑用户”的菜单里看到我们增加的“禁止用户登录”选项了;选中后,则会禁止该用户登录。

WordPress 如何实现纯代码添加禁止某些用户登录的方法教程

以上就是WP博客如何实现纯代码添加禁止某些用户登录的方法的全部教程,如果有更好的方法欢迎留言提出来,大家一起探讨交流。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明: 1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。不得使用于非法商业用途,不得违反国家法律。否则后果自负! 2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与ayaow.com无关。如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系处理(邮箱:yes5210@qq.com),本站将立即改正。

爱要网 插件软件 WordPress 如何实现纯代码添加禁止某些用户登录的方法教程 https://www.ayaow.com/archives/6359.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务