前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress 技巧:用户注册时候不能含有非法关键字

WordPress 技巧:用户注册时候不能含有非法关键字

作者头像
Denis
发布2023-04-15 11:20:50
2090
发布2023-04-15 11:20:50
举报
文章被收录于专栏:WordPress果酱

我们知道 WordPress 后台 > 设置 > 讨论,可以让我们输入“评论审核”和“评论黑名单”关键字,这些关键字在用户留言的时候将用于非法关键字的检测。那么我们是否可以将这些关键字用于其他方面呢?比如用户注册的时候,用户名不能包含这些非法关键字。答案肯定是可以:

首先创建非法关键字检测函数:

代码语言:javascript
复制
function wpjam_blacklist_check($str){
    $moderation_keys = trim(get_option('moderation_keys'));
    $blacklist_keys = trim(get_option('blacklist_keys'));

    $keys = $moderation_keys ."\n".$blacklist_keys;

    $words = explode("\n", $keys );

    foreach ( (array) $words as $word) {
        $word = trim($word);

        // Skip empty lines
        if ( empty($word) )
            continue;

        // Do some escaping magic so that '#' chars in the
        // spam words don't break things:
        $word = preg_quote($word, '#');

        $pattern = "#$word#i";
        if ( preg_match($pattern, $str) ) return true;
    }

    return false;
}

设置用户名不能含有待审关键字和黑名单关键字。

代码语言:javascript
复制
add_filter( 'sanitize_user', 'wpjam_sanitize_user',3,3);
function wpjam_sanitize_user($username, $raw_username, $strict){
    if(wpjam_blacklist_check($username)){
        $username = '';
    }

    return $username;
}

将上面这两段函数复制到当前主题的 functions.php 文件即可。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档