前天晚上看到某个网友的留言,关于需要搜索的时候屏蔽特殊关键字,不清楚这样做法的用意。以前见过有这样子的插件可以解决的,只不过现在一时半会想不到是什么名字了,于是就搜索网络上有没有其他的解决办法。
这里直接通过无插件的办法自定义解决的,我们一起看看解决办法吧:
第一、添加 Functions.php
- add_action('admin_init', 'uicss_search_ban_key');
- function uicss_search_ban_key() {
- add_settings_field('uicss_search_key', '搜索关键词屏蔽', 'uicss_search_key_callback_function', 'reading');
- register_setting('reading', 'uicss_search_key');
- }
- function uicss_search_key_callback_function() {
- echo '<textarea name="uicss_search_key" rows="10" cols="50" id="uicss_search_key" class="large-text code">' . get_option('uicss_search_key') . '</textarea>';
- }
- add_action('template_redirect', 'uicss_search_ban');
- function uicss_search_ban() {
- if (is_search()) {
- global $wp_query;
- $uicss_search_key = get_option('uicss_search_key');
- if ($uicss_search_key) {
- $uicss_search_key = str_replace("\r\n", "|", $uicss_search_key);
- $BanKey = explode('|', $uicss_search_key);
- $S_Key = $wp_query->query_vars;
- foreach ($BanKey as $Key) {
- if (stristr($S_Key['s'], $Key) != false) {
- wp_die('请不要搜索特殊关键字');
- exit;
- }
- }
- }
- }
- }
这个脚本是在 uicss.cn/bad-bot 这篇文章借鉴的,必须留下出处以示尊敬。添加完毕之后,我们再去 WP 后台看看。
第二、添加屏蔽关键字
在后台 设置-阅读 选项中,看到上图,添加关键字,一行一个关键字。添加保存之后,我们这样就可以解决特殊关键字的搜索屏蔽问题。