You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress REST API内部调用无法按作者ID筛选,外部Postman正常

解决WordPress REST API内部调用带作者参数报404的问题

问题根源

你创建WP_REST_Request实例时,错误地把查询参数?author=1拼在了端点路径里。REST服务器会将整个字符串当作端点路由匹配,但实际不存在/wp/v2/podcasts?author=1这个路由,因此返回rest_no_route的404错误。

正确实现方式

端点路径需与查询参数分离,查询参数通过set_query_params()方法单独设置:

$server = rest_get_server();
// 仅传入纯端点路径,不含查询字符串
$podcastsRequest = new WP_REST_Request( 'GET', '/wp/v2/podcasts');
// 单独传入查询参数数组
$podcastsRequest->set_query_params( array( 'author' => 1 ) );
$podcastsResponse = rest_do_request( $podcastsRequest );
$podcastsData = $server->response_to_data( $podcastsResponse, false );

原理说明

这种写法和你在Postman中直接调用带查询参数的URL逻辑一致:REST服务器先匹配/wp/v2/podcasts的路由,再解析通过set_query_params()传入的author参数,最终返回对应作者的podcasts数据。

内容的提问来源于stack exchange,提问作者Andy Holmes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:11:13