Wordpress 搜索时,如何将页面优先于帖子?

Wordpress 搜索时,如何将页面优先于帖子?,wordpress,Wordpress,所以我是Wordpress的新手,因此我不完全确定如何使用它。但我遇到的一个问题是,默认搜索功能对页面和帖子的处理方式相同 例如,我有一个名为Java的页面,然后我有几篇题为Learning Java#。。。如果我搜索Java,页面将作为最后一项出现,帖子将出现在页面前面。我想知道是否有一种方法可以调整搜索,这样我就可以先列出页面 另外,我在谷歌上搜索了一下这个问题,并看到了一些假设的PHP解决方案,但正如我所说的,我是Wordpress的新手,所以我不确定我将在PHP中编辑的确切位置。如果您有

所以我是Wordpress的新手,因此我不完全确定如何使用它。但我遇到的一个问题是,默认搜索功能对页面和帖子的处理方式相同

例如,我有一个名为Java的页面,然后我有几篇题为Learning Java#。。。如果我搜索Java,页面将作为最后一项出现,帖子将出现在页面前面。我想知道是否有一种方法可以调整搜索,这样我就可以先列出页面


另外,我在谷歌上搜索了一下这个问题,并看到了一些假设的PHP解决方案,但正如我所说的,我是Wordpress的新手,所以我不确定我将在PHP中编辑的确切位置。如果您有任何帮助,我们将不胜感激。如果您有任何意见,请将我视为真正的初学者,并详细介绍,以便我能更好地理解。

您需要将此代码放入您的
函数中。php

function change_search_result_order($query) {
// Check if current page is search page
    if ($query->is_search) {
// Specify orderby and order, ordering will be by slug of post_type: pAge > pOst
        $query->set('orderby', 'post_type');
        $query->set('order', 'ASC');
    };
    return $query;
}

add_filter('pre_get_posts', 'change_search_result_order');
默认情况下,搜索功能适用于所有帖子类型,您可以指定要在其中进行搜索:

$query->set('post_type', array('page','post'));
hook
pre_get_posts
将在获取任何帖子之前触发,因此我们需要修改它。并设置一些参数,以获取具有特定条件的帖子