前天晚上看到某个网友的留言关于需要将自己的WordPress网站在搜索关键字的时候屏蔽特殊关键字,不清楚这样做法的用意。以前老左见过有这样子的插件可以解决的,只不过现在一时半会想不到是什么名字了,于是就搜索网络上有没有其他的解决办法。
这里直接通过无插件的办法自定义解决的,我们一起看看解决办法吧:
第一、添加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后台看看。
第二、添加屏蔽关键字
在后台 设置-阅读 选项中,看到上图,添加关键字,一行一个关键字。添加保存之后,我们这样就可以解决特殊关键字的搜索屏蔽问题。