因?yàn)閃ordPress自帶的搜索功能結(jié)果排序非常糟糕,在站點(diǎn)文章多的時候很難通過搜索找到自己要找的內(nèi)容,不少人已經(jīng)使用 Google CSE 來提供站內(nèi)搜索。但是WordPress默認(rèn)的搜索功能依然沒有禁用掉,這會留下隱患。WordPress在進(jìn)行搜索的時候效率非常低,如果有人利用這個缺陷對你的博客發(fā)起很多搜索請求的話,你的服務(wù)器很有可能宕機(jī)。因此在站內(nèi)搜索已經(jīng)有更好的替代品的情況下,我們應(yīng)該禁止在前臺使用WordPress自帶的搜索功能,只需在主題的 functions.php 文件里加入下面的代碼即可。
add_filter('posts_search', 'disable_search_query_like');
function disable_search_query_like($arg){
if(!is_admin()){
return '';
}else{
return $arg;
}
}
if(isset($_GET['s'])){
add_filter('posts_request', 'disable_search_query');
}
function disable_search_query($arg){
if(!is_admin()){
return '';
}else{
return $arg;
}
}
添加完代碼以后,輸入WordPress默認(rèn)的搜索地址 http://yourdomain.com/?s=xxxx 將顯示找不到任何文章(提示語因主題而異),也不會對數(shù)據(jù)庫產(chǎn)生搜索查詢。但是在后臺的所有文章界面我們依然可以進(jìn)行搜索。
更多信息請查看IT技術(shù)專欄