因?yàn)閣ordpress自帶的搜索功能結(jié)果排序非常糟糕,在站點(diǎn)文章多的時(shí)候很難通過(guò)搜索找到自己要找的內(nèi)容,不少人已經(jīng)使用 google cse 來(lái)提供站內(nèi)搜索。但是wordpress默認(rèn)的搜索功能依然沒(méi)有禁用掉,這會(huì)留下隱患。wordpress在進(jìn)行搜索的時(shí)候效率非常低,如果有人利用這個(gè)缺陷對(duì)你的博客發(fā)起很多搜索請(qǐng)求的話,你的服務(wù)器很有可能宕機(jī)。因此在站內(nèi)搜索已經(jīng)有更好的替代品的情況下,我們應(yīng)該禁止在前臺(tái)使用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 將顯示找不到任何文章(提示語(yǔ)因主題而異),也不會(huì)對(duì)數(shù)據(jù)庫(kù)產(chǎn)生搜索查詢。但是在后臺(tái)的所有文章界面我們依然可以進(jìn)行搜索。