优先搜索结果显示匹配的结果从标题第一wordpress

zz2j4svz  于 2023-01-12  发布在  WordPress
关注(0)|答案(2)|浏览(144)

我正试图自定义WP搜索,并希望显示所有的文章首先在标题中有搜索关键字,然后显示在描述中有搜索关键字后。我希望它是使用WP挂钩,而不是与插件。
现在我使用pre_get_posts钩子来搜索特定的帖子类型。

function searchfilter($query) {
    if ($query->is_search && !is_admin() && $query->is_main_query()) 
    {
        $query->set('post_type',array('post','materials'));
    }
    return $query;
}

add_filter('pre_get_posts','searchfilter');

我如何可以设置优先级,以显示搜索结果有关键字匹配的标题第一,然后其余的职位。

u5rb5r59

u5rb5r591#

实际上,默认情况下应该是这样的。但是如果你使用插件来重新排序可能不同的帖子。像这个Simple Custom Post Order,它不会这样工作。请尝试停用任何可疑的插件。它应该工作正常。

dgiusagp

dgiusagp2#

我解决了这个代码,即使我使用简单的自定义后订单插件:

function searchfilter($query) {
    if ($query->is_search && !is_admin() && $query->is_main_query())
    {
        $query->set('post_type',array('page', 'post'));
        $query->set('orderby', array('relevance' => 'DESC', 'type' => 'ASC'));
    }
    return $query;
}
add_filter('pre_get_posts','searchfilter' );

相关问题