我正在尝试在Wordpress Web应用程序上创建新的自定义REST API端点,以将其与ReactJS集成。我使用的是Wordpress内置的REST API调用,效果很好。 我正在使用Wordpress 5.0.3和php 7.2。
这是我在主题的function.php文件中编写函数的方式。
function register_our_custom_api_routes() {
register_rest_route( 'custom/v1', '/endpoint/', array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'our_custom_callback_function',
)
);}
回调函数
function our_custom_callback_function( ) {
$data = [ 'foo' => 'bar' ];
$response = new WP_REST_Response($data, 200);
$response->set_headers([ 'Cache-Control' => 'must-revalidate, no-cache, no-store, private' ]);
return $response;}
然后添加
add_action( 'rest_api_init', 'register_our_custom_api_routes' );
当我尝试在浏览器中访问http://localhost/shopper/wp-json/custom/v1/endpoint时,它总是让我得到rest_no_route,404错误。
我在Firefox和chrome浏览器中都尝试过此操作。另外,我尝试在终端上使用“ curl -X”功能,并尝试使用邮递员,并得到相同的错误。
{“代码”:“ rest_no_route”,“消息”:“未找到与URL和请求方法匹配的路由”,“数据”:{“状态”:404}}
我几乎尝试了一切,但得到了相同的错误。这是在Wordpress stackexchange页面上找到的article。
我也将其发布在Wordpress stackexchange页面link
我听到几篇文章说自定义REST API调用在Wordpress 5.0.3上已更改。
在这里我想念什么吗?