我们是不是有发现到在使用WordPress程序的时候,如果有被人恶意的搜索某些关键字,可能会影响到我们网站的性能,也可能导致不必要的麻烦。于是我们可以直接使用一些功能将WordPress搜索功能屏蔽,或者我们也可以将采用百度的搜索功能。不过这个暂时不在今天的讨论范围之内。
今天要分享的是可以实现我们自定义在WordPress设置屏蔽关键字,我们设置需要屏蔽的关键字。
// 自定义屏蔽搜索关键字 https://www.itbulu.com/wp-ban-keywords.html
add_action('admin_init', 'php_search_ban_key');
function php_search_ban_key() {
add_settings_field('php_search_key', '搜索关键词屏蔽', 'php_search_key_callback_function', 'reading');
register_setting('reading','php_search_key');
}
function php_search_key_callback_function() {
echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .
get_option('php_search_key') . '</textarea>';
}
add_action('template_redirect', 'php_search_ban');
function php_search_ban(){
if (is_search()) {
global $wp_query;
$php_search_key = get_option('php_search_key');
if($php_search_key){
$php_search_key = str_replace("\r\n", "|", $php_search_key);
$BanKey = explode('|', $php_search_key);
$S_Key = $wp_query->query_vars;
foreach($BanKey as $Key){
if( stristr($S_Key['s'],$Key) != false ){
wp_die('请不要搜索敏感关键字');
}
}
}
}
}
我们将代码添加到Functions.php文件中。
我们添加之后,在后台【阅读】中看到可以设置自定义关键字的文本框。
这里我们可以看到搜索关键词屏蔽。这里我们设置需要屏蔽的关键字,一行放一个词。
这样,我们在前端搜索的时候,如果搜索到敏感词,我们可以直接被跳转。