操作 WordPress REST API 搜索查询

hon*_*k31 0 wordpress wordpress-rest-api

我想添加一个自定义字段以包含在我的搜索查询中。这是通过 完成的meta_query,我完全意识到这一点,但问题是,我不知道在哪里可以根据我的需要操纵查询参数。

所以我正在寻找一个过滤器,以进入 REST API 搜索请求 ( /wp/v2/search),有什么线索吗?

Pla*_*lov 5

您可以实现以下钩子:

add_filter( 'rest_post_search_query', 'rest_search_add_custom_field_cb', 10, 2 );
function rest_search_add_custom_field_cb( $query_args, $request ) {
    // filter...

    return $query_args;
}
Run Code Online (Sandbox Code Playgroud)

您可以修改搜索查询并包含其他参数,例如元查询等。

WordPress 将在以下上下文中使用此过滤器的返回值:

...
$query->query( $query_args );
...
Run Code Online (Sandbox Code Playgroud)