首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自定义终结点的WP_REST_Request返回rest_no_route (404)

自定义终结点的WP_REST_Request返回rest_no_route (404)
EN

Stack Overflow用户
提问于 2021-09-23 04:44:12
回答 1查看 354关注 0票数 1

我为WordPress API-REST创建了一个自定义端点。我可以通过浏览器正常访问。但是当我尝试通过WP_REST_Request访问它时,我得到一条消息"rest_no_route (404)“

代码语言:javascript
运行
复制
<?php 

add_action( 'rest_api_init', 'custom_routes_rifa');

function custom_routes_rifa(){

    
    register_rest_route(
      'pluginrifa/v2', '/infos/', array(
        'methods'       => 'GET',
        'callback'      => 'api_rifa_infos',
        'show_in_index' => false
      )
    );

}

如果我将/wp-json/pluginrifa/v2/infos/?rifa=140放入浏览器,一切正常,但下面的代码返回404:

代码语言:javascript
运行
复制
<?php
$request = new WP_REST_Request( 'GET', '/wp-json/pluginrifa/v2/infos' );
$request->set_query_params( [ 'rifa' => 140 ] );
$response = rest_do_request( $request );
$server = rest_get_server();
$data = $server->response_to_data( $response, false );
$json = wp_json_encode( $data );
          
$obj = json_decode($json);

我在Custom route endpoint for WP-REST API gives "code": "rest_no_route", error上发现了这个讨论,但没有一个建议的解决方案得到解决,除了明显不同的东西,因为它是通过HTTP工作的,但通过WP_REST_Request它没有。

EN

回答 1

Stack Overflow用户

发布于 2021-09-23 14:20:02

我发现了问题,我不得不更换:

代码语言:javascript
运行
复制
<?php $request = new WP_REST_Request( 'GET', '/wp-json/pluginrifa/v2/infos' );

代码语言:javascript
运行
复制
<?php $request = new WP_REST_Request( 'GET','/pluginrifa/v2/infos' );

/wp-json/需要从请求中省略。我不知道为什么,但在互联网上的一些地方,新WP_REST_Request的例子都在网址中使用了wp-json。也许,这是在某些WordPress更新中出现的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69294148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档