gpt4 book ai didi

php - 方法 POST 的 Wordpress REST API 自定义端点

转载 作者:可可西里 更新时间:2023-10-31 23:55:35 33 4
gpt4 key购买 nike

我目前正在从事一个项目,该项目需要一个 WordPress 网站和一个简单的 REST api。我发现 WordPress 有自己的 REST api 并决定扩展它的功能以满足我的需要。我需要做的就是为 GET 和 POST 请求提供端点,这些请求从与 WordPress 没有直接关系(但在同一数据库中)的表中检索/插入数据。我成功地实现了所有 GET 请求,但是,我正在努力让 POST 请求正常工作。
我定义了这个路由寄存器:

register_rest_route('api/v1', 'create-player/', array(
'methods' => 'POST',
'callback' => 'create_player',
));

客户端通过 ajax 调用发送请求,预计会从上面的路由到达端点。这是 ajax:

    $.ajax({
method: "POST",
url: '/wp-json/api/v1/create-player/',
data : JSON.stringify(data),
contentType: 'applcation/json',
beforeSend: function (xhr){
xhr.setRequestHeader("X-WP-None", locData.nonce);
console.log('beforeSend');
},
success: function(response){
console.log("success" + response);
},
fail: function (response){
console.log("fail" + response);
}
});

我不确定如何从 REST api 构建 POST 路由寄存器,其他 GET 请求有一个属性 args 直接映射到端点中传递的参数。使用 POST 时是否需要类似的东西来处理请求数据?如何获取从 ajax 传递的数据类型,然后在我的函数 create_player(); 中使用它在 WordPress 功能中,如帖子/作者/博客等,但我不需要,我只想使用提供的功能并创建我自己的界面。谢谢。

最佳答案

在你的回调函数中你可以使用这样的东西:

 $param = $request->get_param( 'some_param' );

// You can get the combined, merged set of parameters:
$parameters = $request->get_params();

https://www.coditty.com/code/wordpress-api-custom-route-access-post-parameters

关于php - 方法 POST 的 Wordpress REST API 自定义端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44189832/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com