WordPress 搜索結(jié)果排除頁(yè)面或者分類(lèi)的方法
WordPress 搜索結(jié)果排除頁(yè)面或者分類(lèi)的方法ordPress 的默認(rèn)搜索結(jié)果默認(rèn)就是所有的文章和頁(yè)面,而對(duì)于在 WordPress 建站和實(shí)際使用中更多的是不希望將頁(yè)面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類(lèi)或者某些指定頁(yè)面文章等,那么這時(shí)候我們就需要重新定義 Wo
WordPress 搜索結(jié)果排除頁(yè)面或者分類(lèi)的方法ordPress 的默認(rèn)搜索結(jié)果默認(rèn)就是所有的文章和頁(yè)面,而對(duì)于在 WordPress 建站和實(shí)際使用中更多的是不希望將頁(yè)面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類(lèi)或者某些指定頁(yè)面文章等,那么這時(shí)候我們就需要重新定義 Wo
ordPress 的默認(rèn)搜索結(jié)果默認(rèn)就是所有的文章和頁(yè)面,而對(duì)于在 WordPress 建站和實(shí)際使用中更多的是不希望將頁(yè)面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類(lèi)或者某些指定頁(yè)面文章等,那么這時(shí)候我們就需要重新定義 WordPress 搜索功能。
使用方法就是根據(jù)自己需求,修改并將以下代碼判斷添加到你當(dāng)前 WordPress 主題中的 functions.php 文件中。
1 2 3 4 5 6 7 8 |
//排除指定文章和頁(yè)面 add_filter('pre_get_posts','fanly_search_filter_page'); function fanly_search_filter_page($query) { if ($query->is_search && !$query->is_admin) { $query->set('post__not_in', array(1,101));//1 和 101 為指定的文章 ID 或頁(yè)面 ID } return $query; } |
1 2 3 4 5 6 7 8 |
//排除指定文章分類(lèi) add_filter('pre_get_posts','fanly_search_filter_cat'); function fanly_search_filter_cat($query) { if ($query->is_search && !$query->is_admin) { $query->set('cat', array(10,20));//10 和 20 為指定分類(lèi) ID } return $query; } |
1 2 3 4 5 6 7 8 |
//排除所有頁(yè)面,只顯示文章類(lèi)型 add_filter('pre_get_posts','fanly_search_filter_post'); function fanly_search_filter_post($query) { if ($query->is_search && !$query->is_admin) { $query->set('post_type', 'post'); } return $query; } |
當(dāng)然上面三個(gè)方法子凡分開(kāi)了,當(dāng)然大家也可以把代碼合成一個(gè),將$query->set 這行復(fù)制到一個(gè)函數(shù)里面就可以了,另外需要補(bǔ)充說(shuō)明一下的就是,所有的里面都有一個(gè)判斷!$query->is_admin 的參數(shù),這個(gè)是必須要有的,否者會(huì)影響 WordPress 后臺(tái)的搜索功能,例如如果后臺(tái)媒體庫(kù)或者插入媒體文件是搜索沒(méi)有任何內(nèi)容時(shí),就是因?yàn)槟憧赡軟](méi)有添加到這個(gè)判斷而出現(xiàn)的問(wèn)題。
版權(quán)所有:深圳市網(wǎng)商在線(xiàn)科技有限公司