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

本文简介 在某些特殊情况下某些用户损害了网站的利益,你可能就需要禁止他们登录网站,WordPress博客如何实现免插件纯代码添加禁止某些用户登录的方法,也就是WordPress博客用户怎么实现封号……
本站资源站长都亲自体验过了,真实有效,本站不发表未经验证的资源,请放心参与体验

在某些特殊情况下某些用户损害了网站的利益,你可能就需要禁止他们登录网站,WordPress博客如何实现免插件纯代码添加禁止某些用户登录的方法,也就是WordPress博客用户怎么实现封号,近日以来网站垃圾信息,垃圾回复泛滥,由于之前不怎么关注这块,但是现在不得不进行梳理一下拿出一个解决方案了,做网站的朋友都知道,自己辛辛苦苦写的文章,发的资源为了防止和谐只提供给网站注册会员使用,需要留言回复文章才可以获取下载地址,但是有一些伸手党随意的乱回复,乱灌水,简直就是一点对起码尊重都没有,好吧为了此问题这下研究了下。

WordPress 如何实现纯代码添加禁止某些用户登录的方法-歪迪资源屋

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

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

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

/**
* WordPress 禁止某些用户登录
* https://www.53431.com/wordpresscat/jiqiao/925.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博客如何实现纯代码添加禁止某些用户登录的方法的全部教程,如果有更好的方法欢迎留言提出来,大家一起探讨交流。

这篇文章如果帮到了你
如果文章内容或图片资源失效或者您对文章有异议,请留言反馈或点击右下角邮件图标发送邮件说明情况,我们会及时处理,谢谢!
原创wordpress顶和踩喜欢功能的实现2020-02-20 16:28:48阅读数 303
顶踩功能大家都知道,不用多解释,本文介绍使用代码实现顶踩功能详细步骤 首先创建数据表 /*********更新重写规则***************/ function ashu_load_theme() { global $pagenow...
WordPress在文章列表插入一篇广告跳转文章或在任意位置插入广告代码2019-03-11阅读数 1455
这个Wordpress技巧可以让你在文章列表中的任意位置插入一篇或多篇广告跳转文章,完美的与主题结构融合,与主题列表的展现形式一模一样,不用去额外的改变任何结构!而且可以一键无痕的将发布的任何文章变成广告跳转文章! 实现过程非常简单,利用了...
wordpress给你的网页添加一个加载动画2019-01-29 23:29:45阅读数 2409
网页加载需要一个过程,现在这个过程可以极短了,不过有些朋友还是希望能用一个动画来代替这个过程,让加载不再那么枯燥。搜索了一下,很多这类文章,方法很多,利用CSS实现应该是最好的办法了。过程很简单,只需两步。 添加方法 第一步 创建一个css...
WordPress插件-Post Expirator 给文章或页面设置一个到期时间2019-01-29 22:57:01阅读数 1161
有些时候,一些文章或页面没必要始终展示,比如公告,活动,广告等,但是对于像我一样的懒人们又不想拐回去关闭文章,或者忘记关闭文章。这是你就需要这样一个插件。 Post Expirator 这个插件使用起来比较简单,功能也够强大,可以为文章或者...
代码实现网站外链自动转换为内链2019-01-20 16:38:04阅读数 2241
实现步骤: 首先复制以下代码,添加到主题目录下的function.php文件中 /*  *自动给文章的外部链接添加nofollow属性  */    add_filter('the_content','web589_the_content_...
official多用途企业门户官网类WordPress主题自适应wordpress企业主题2019-01-10 19:24:51阅读数 760
official多用途企业门户官网类WordPress主题WordPress企业主题是由歪主题出品的一款比较简洁实用非常简单的一款wordpress企业类型主题,主题虽然包含多项设置选项,但真正需要设置的很少很少,所以无论你有无经验都可以轻...
五个步骤提升你的WordPress安全等级2019-01-03阅读数 761
我敢肯定你周围肯定有关于WordPress安全的小故事,或者是数据库被入侵,或者是网站被挂马,甚至整个网站都没了。因此,是非常有必要地针对WordPress执行一些安全措施,尽可能降低WordPress因漏洞而被黑客做手脚。 如何提高你的W...
七大免费WordPress画廊相册插件2019-01-03阅读数 3442
如果你正在准备建立一个以图片为主的WordPress博客,你可能需要考虑图片展示的问题。如果直接平铺一张张展示,貌似显得有点乏味,且会将页面拉得很长。WordPress自带的相册功能,有比较单一。 So,今天的主题是图片和图片相册。事不宜迟...
怎样在wordpress使用Font Awesome字体图标2018-12-29 20:09:31阅读数 1404
Font Awesome是一款矢量的图标或可以称为字体图标,他的所有属性都可以通过CSS进行设定,包括:大小、颜色、阴影或者其它任何支持的效果。不旦有效解决了图像加载慢的问题,而且好提供了超过5000+的图标方案。 在wordpress使用...
WordPress 批量删除所有文章的特色图像2018-12-25 23:49:09阅读数 957
说到 WordPress 的特色图像功能,相信大家都比较熟悉了,今天分享 批量删除所有文章的特色图像 的方法,或许有些朋友会用得上。将下面的代码添加到当前主题的 functions.php : /** * WordPress 批量删除所有文...
原创WordPress 5.0 换回原有”Classic Editor”经典编辑器的三种方法2018-12-09 17:27:57阅读数 1667
WordPress 5.0 正式采用了全新的“Block Editor”编辑器,从而替换了原有“Classic Editor”编辑器,相信有很多人都不习惯或者不喜欢新编辑器,那么新版 WordPress 该如何换回原来的 WordPress...
WordPress非插件实现文章点赞功能2018-09-10 09:55:25阅读数 1680
功能丰富的WordPress点赞插件不少,但对于要在主题中集成简单文章点赞功能的需求,插件就显得不合适,于是乎非插件实现文章点赞功能的方法就诞生,实现思路是:可以通过ajax实时显示点赞数量,自定义字段保存赞数量,Cookies禁止重新点赞...

评论 抢沙发



觉得文章有用就赞赏支持一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏