跳到主要内容

在某些情况下,您可能希望将WordPress搜索结果限制为特定的帖子类型,而不只是默认的帖子类型。您的主题可能具有要包含在搜索中的自定义帖子类型,或者您可能只想搜索自定义帖子类型而不是帖子或页面。如果没有插件,这相对来说比较简单,通常是最好的做法。

打开主题的functions.php文件,并在底部复制以下代码片段。

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');

注意它说的那一行

$query->set('post_type',array('post','page'));

将显示“发布”,“页面”的行更改为希望过滤搜索的任何发布类型。因此,例如,您的代码如下所示:

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');

确保将自定义帖子类型的名称更改为您自己的名称。

回到顶部