在某些情况下,您可能希望将WordPress搜索结果限制为特定的帖子类型,而不只是默认的帖子类型。您的主题可能具有要包含在搜索中的自定义帖子类型,或者您可能只想搜索自定义帖子类型而不是帖子或页面。如果没有插件,这相对来说比较简单,通常是最好的做法。
打开主题的functions.php文件,并在底部复制以下代码片段。
|
1个
2
3
4
5
6
7
|
function 1wd_searchfilter($query) { if ($query->is_search && !is_admin() ) { $query->set('post_type',array('post','page')); } return $query;} add_filter('pre_get_posts','1wd_searchfilter'); |
注意它说的那一行
|
1个
|
$query->set('post_type',array('post','page')); |
将显示“发布”,“页面”的行更改为希望过滤搜索的任何发布类型。因此,例如,您的代码如下所示:
|
1个
2
3
4
5
6
7
|
function 1wd_searchfilter($query) { if ($query->is_search && !is_admin() ) { $query->set('post_type',array('custom_post_type_name_1','custom_post_type_name_2')); } return $query;} add_filter('pre_get_posts','1wd_searchfilter'); |
确保将自定义帖子类型的名称更改为您自己的名称。






