wordpress用户注册不能包含非法关键词
在wordpress中,我们可以设置评论的黑名单词语,而如果当我们站点流量越来越多的时候,需要开放用户进行注册,如何去屏蔽用户名的非法关键词呢,这里将评论的黑名单同样应用于用户的注册上面,下面小虎博客来教大家 wordpress 中如何屏蔽非法关键词。
在当前主题 functions.php 文件中加入如下的代码:
[code lang="php"]
function 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);
if ( empty($word) )
continue;
$word = preg_quote($word, '#');
$pattern = "#$word#i";
if ( preg_match($pattern, $str) ) return true;
}
return false;
}
add_filter( 'sanitize_user', 'sanitize_user',3,3);
function v7v3_sanitize_user($username, $raw_username, $strict){
if(v7v3_blacklist_check($username)){
$username = '';
}
return $username;
}
[/code]
这样用户注册就可以和评论一样可以共用所屏蔽掉的评论黑名单了。