wordpress屏蔽关键词搜索
网站的内部搜索功能会被恶意的用户利用,在站内搜索中输入敏感关键词,导致搜索引擎不被收录的问题。那么我们的 WordPress 站点如何纯代码实现屏蔽恶意关键词搜索呢?具体实现方法如下:
1、将以下代码添加到当前使用的主题 functions.php 文件的最后一个 ?> 的前面。
//屏蔽恶意关键词搜索 add_action('admin_init', 'ytkah_search_ban_key'); function ytkah_search_ban_key() { add_settings_field('ytkah_search_key', '搜索关键词屏蔽', 'ytkah_search_key_callback_function', 'reading'); register_setting('reading','ytkah_search_key'); } function ytkah_search_key_callback_function() { echo '<textarea name="ytkah_search_key" rows="10" cols="50" id="ytkah_search_key" class="large-text code">' . get_option('ytkah_search_key') . '</textarea>'; } add_action('template_redirect', 'ytkah_search_ban'); function ytkah_search_ban(){ if (is_search()) { global $wp_query; $ytkah_search_key = get_option('ytkah_search_key'); if($ytkah_search_key){ $ytkah_search_key = str_replace("rn", "|", $ytkah_search_key); $BanKey = explode('|', $ytkah_search_key); $S_Key = $wp_query->query_vars; foreach($BanKey as $Key){ if( stristr($S_Key['s'],$Key) != false ){ wp_die('你搜索的关键词不存在'); } } } } }
2、登录 WordPress 网站后台 >> 设置(Settings) >> 阅读 >> 找到搜索关键词屏蔽 >> 添加您想屏蔽的搜索关键词,如网赚、股票等,每个关键词一行 >> 点击【保存更改】按钮即可。具体如下图所示:
成功填写并屏蔽关键词之后,在前台输入已经屏蔽的关键词就会提示“你搜索的关键词不存在”