WordPress 搜索結(jié)果排除頁面或者分類的方法
WordPress 搜索結(jié)果排除頁面或者分類的方法ordPress 的默認搜索結(jié)果默認就是所有的文章和頁面,而對于在 WordPress 建站和實際使用中更多的是不希望將頁面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類或者某些指定頁面文章等,那么這時候我們就需要重新定義 Wo
WordPress 搜索結(jié)果排除頁面或者分類的方法ordPress 的默認搜索結(jié)果默認就是所有的文章和頁面,而對于在 WordPress 建站和實際使用中更多的是不希望將頁面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類或者某些指定頁面文章等,那么這時候我們就需要重新定義 Wo
ordPress 的默認搜索結(jié)果默認就是所有的文章和頁面,而對于在 WordPress 建站和實際使用中更多的是不希望將頁面也作為搜索結(jié)果,或者我們也希望屏蔽搜索指定的分類或者某些指定頁面文章等,那么這時候我們就需要重新定義 WordPress 搜索功能。
使用方法就是根據(jù)自己需求,修改并將以下代碼判斷添加到你當前 WordPress 主題中的 functions.php 文件中。
1 2 3 4 5 6 7 8 |
//排除指定文章和頁面 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 或頁面 ID } return $query; } |
1 2 3 4 5 6 7 8 |
//排除指定文章分類 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 為指定分類 ID } return $query; } |
1 2 3 4 5 6 7 8 |
//排除所有頁面,只顯示文章類型 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; } |
當然上面三個方法子凡分開了,當然大家也可以把代碼合成一個,將$query->set 這行復(fù)制到一個函數(shù)里面就可以了,另外需要補充說明一下的就是,所有的里面都有一個判斷!$query->is_admin 的參數(shù),這個是必須要有的,否者會影響 WordPress 后臺的搜索功能,例如如果后臺媒體庫或者插入媒體文件是搜索沒有任何內(nèi)容時,就是因為你可能沒有添加到這個判斷而出現(xiàn)的問題。
版權(quán)所有:重慶安菲科技有限公司