WordPress 网站流量达到一定程度时,站长都会考虑开放注册来留住访客,但是开放注册时各种问题就会接踵而至,尤其是在天朝这等河蟹环境下,一旦网站出现一些比较敏感的关键词后就离去网监局喝茶的日子不远了,有些时候喝茶是小事,极有可能网站的所有数据以及服务器都会被 GOV 给连根拔起,所以做好敏感关键的屏蔽就非常重要了。下面小编来教大家如何禁止 WordPress 网站用户在注册时使用敏感关键。

首先在 functions.php 文件中加入以下两段代码:

function wxd_blacklist_check($str){
    $moderation_keys = trim(get_option('moderation_keys'));
    $blacklist_keys = trim(get_option('blacklist_keys'));

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

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

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

        if ( empty($word) )
            continue;

 $word = preg_quote($word, '#');

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

    return false;
}
add_filter( 'sanitize_user', 'wxd_sanitize_user',3,3);
function wxd_sanitize_user($username, $raw_username, $strict){
    if(wxd_blacklist_check($username)){
        $username = '';
    }

    return $username;
}

然后在 WordPress 后台 > 设置 > 讨论,我们输入 「评论审核」 和 「评论黑名单」 关键字,就可以来屏蔽用户使用敏感关键词来注册了。