×

如何实现用户注册时候不能含有非法关键字

优畅主题 Wordpress技术 2013-10-18 11:25 3,138 1 条评论

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

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

function uctheme_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;
}

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

add_filter( 'sanitize_user', 'uctheme_sanitize_user',3,3);
function uctheme_sanitize_user($username, $raw_username, $strict){
    if(uctheme_blacklist_check($username)){
        $username = '';
    }

    return $username;

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


如果本文对你有帮助,你可以扫描右边的二维码打赏,谢谢支持
联系优畅:uctheme#qq.com (#改为@)
微信订阅号:优畅主题(uctheme)
官网淘宝店:http://uctheme.taobao.com
版权声明:版权归 优畅主题 所有,转载请注明出处!
转载请保留链接: https://www.uctheme.com/technical/520.html
谢谢支付宝打赏
谢谢微信打赏

品牌创立:2012-11-18优畅主题

优畅主题成立于2012年11月18日,专业Wordpress导购主题开发商,拥有多年Wordpress主题设计经验,专门为淘宝客和导购客站长量身打造高端赚钱模板,我们注重细节,有着严谨的开发态度,一切从客户角度出发,如果你也喜欢 WordPress导购主题,欢迎和我们一起交流!


3 + 0 = ?

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册