如何以编程方式获取与WordPress中的搜索查询匹配的帖子?

Ala*_*ows 12 php wordpress

在我的插件代码中,我想执行一个WP_Query(或类似的)返回与给定查询字符串匹配的所有帖子,就像用户在WordPress搜索表单中键入相同的字符串一样.也许我只是在密集,但我似乎无法找到办法.我希望有一个特殊的参数WP_Query,例如matching,但我没有看到任何证据.

我将开始浏览WordPress代码库,看看它是如何在内部完成的,如果我找到它,我会在这里发布答案.我只是觉得有人可能碰巧知道了.

gra*_*etc 24

将查询变量"s"传递WP_Query给搜索字词将按搜索字词过滤帖子结果:

$query_args = array( 's' => 'disquiet' );
$query = new WP_Query( $query_args );
Run Code Online (Sandbox Code Playgroud)

WHERE此查询生成的相应SQL 子句如下所示:

AND (((wp_posts.post_title LIKE '%disquiet%') OR (wp_posts.post_content LIKE '%disquiet%')))
Run Code Online (Sandbox Code Playgroud)

默认搜索包括如上所示的通配符,这很可能是您正在寻找的.如果您想要精确搜索,还可以传递查询var "exact" => true.

有关细节请参阅get_posts的方法WP_QueryWP-包括/ query.php.