WordPress利用function屏蔽搜索并且跳转到指定页面

前言

我们平时弄网站的时候会出现各种搜索词,其中包括不少敏感词,这时候就可以使用function屏蔽某些敏感词

教程

将如下代码添加到子主题的function.php中

function block_sensitive_search_terms($query) {
    if ($query->is_search && !is_admin()) {
        $file_path = ABSPATH . '/api/minganci/blocked_terms.txt';
        if (file_exists($file_path)) {
            $blocked_terms = file($file_path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
        } else {
            $blocked_terms = array();
        }
        // 获取搜索查询词
        $search_query = $query->query_vars['s'];

        // 检查搜索查询是否包含任何敏感词
        foreach ($blocked_terms as $blocked_term) {
            if (stripos($search_query, trim($blocked_term)) !== false) {
                // 跳转到404页面
                header("Location: /404");
                exit; // 确保脚本停止执行
            }
        }
    }
}
add_action('pre_get_posts', 'block_sensitive_search_terms');

其中ABSPATH . '/api/minganci/blocked_terms.txt' 是我列举的所有敏感词,你可以替换成自己的。

具体的敏感词可以访问https://www.xrbk.cn/api/minganci/blocked_terms.txt 来获取。

 

THE END