In my plugin code I would like to perform a WP_Query (or similar) which returns all posts matching a given query string, as if the user typed that same string into the WordPress search form. Perhaps I’m just being dense, but I cannot seem to find a way to do so. I would expect to have a special parameter for WP_Query, such as matching, but I see no evidence of one.
I’ll start going through the WordPress codebase to see how it’s done internally, and I’ll post the answer here if I find it. I just thought someone might happen to know offhand.
Passing a query variable of “s” to
WP_Querywith a search term will filter post results by search term:The corresponding SQL
WHEREclause generated by this query looks like this:Default search includes the wildcards as shown above, which is most likely what you’re looking for. If you want an exact search, you can also pass a query var of
"exact" => true.For the details see the
get_postsmethod ofWP_Queryin wp-includes/query.php.