首页 > 解决方案 > 使用 wp_query 使用一个查询搜索多个关键字

问题描述

我使用这个 wp_query 来获取特定关键字的结果并按价格排序。我需要同时搜索多个关键字并返回结果并按产品价格排序。这怎么可能使用一个 wp_query?

例如有三个标题记录:

我在这里
很好谢谢我很好谢谢
我现在很好

如果我搜索文本“很好”,我应该得到所有三行作为结果。
如果我搜索“m f”,我应该得到所有行作为结果。
如果我搜索“很好”,我应该只得到第二行作为结果。
如果我搜索'e t',我应该得到前两行作为结果。

现在,如果我搜索短语“e n”并同时搜索短语“e t”,我应该再次获得所有三行作为结果。如果我搜索 'fine here'并同时搜索 ' fine t' 我应该得到两个第一行作为结果,依此类推。注意:我将以编程方式将多个短语添加到搜索中。

 $args = [
        // this does not work.
        // should be treated as two exact phrases: "fine here" and "fine t"
        's'           => "fine here+fine t",
        'post_type'   => 'post',
        'post_status' => 'publish',
        'sentence'    => true,
        'paged'       => $paged,
        'meta_query'  => [
            'product_price'  => [ 
                'key' => 'product_price', 
                'value' => '0', 
                'compare' => '>' , 
                'type'=>'NUMERIC'
            ]
        ],
        'orderby'     => 'product_price',
        'order'       => 'ASC'
    ];

标签: wordpress

解决方案


您正在使用sWP_Query 的搜索参数 ( ) 通过关键字查询帖子。

可以使用+字符将更多关键字添加到查询中。

例子:

$args = array(
    's' => 'keyword1+keyword2',
    ...

推荐阅读