分享

WordPress 屏蔽恶意搜索的关键字

HenJi · 5月20日 · 2020年 · 6848次已读

博客开的久了经常会发现一些被和谐的广告刷一波搜索,如果不禁止的话是可以被搜索引擎抓取到的。

然后就有被请喝茶的风险,为了规避风险,还是禁止的好。。

将以下代码添加至主题的functions.php

//屏蔽恶意关键词搜索
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("rn", "|", $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('请不要搜索非法关键字');
                }
            }
    }
    }
}

保存之后在网站后台的设置 >> 阅读 页面,找到 搜索关系词屏蔽,每行一个,填写要屏蔽的关键词即可。

可以配合https://github.com/jkiss/sensitive-words食用,风味更佳^_^

1 条回应
  1. HenJi2020-6-30 · 18:55