繁体   English   中英

Wordpress Rest Api 在自定义端点上使用 POST 更新内容

[英]Wordpress Rest Api Update content with POST on custom endpoint

我正在为 Post Type Post 创建一个自定义端点。 来自 Javascript 的请求工作正常,但无法理解如何更新,例如帖子的内容。

我已经创建并注册了一条路线,我已经为一条路线创建了一个回调 function,我已经创建了一个小表单,我可以在其中插入帖子 ID 和内容。

这是路线的代码

add_action('rest_api_init', function() {
    register_rest_route('wl/v1', 'postsAdd/(?P<id>\d+)', [
        'methods' => 'POST',
        'callback' =>'wl_post_write',
    ]);
})

这是回调 function

function wl_post_write( $request ) {
    $parameters = $request->get_params();
    return $parameters;
}

来自 javascript 的 XMLHTTPRrequest 是

    var ourPostData = {
        "content": content
    }

    var updatePost = new XMLHttpRequest(); 

    updatePost.open("Post", mySiteData.siteURL + '/wp-json/wl/v1/postsAdd/'+id+'/?post_type=post');

    updatePost.setRequestHeader("X-WP-Nonce", mySiteData.nonce);

    updatePost.setRequestHeader("Content-Type","application/json;charset=UTF-8");

    updatePost.send( JSON.stringify(ourPostData) );

    console.log(updatePost.responseText);

变量“content”和“id”是我在表单域中写入的值。

responseText 的 console.log 是:

    {"id":"51","post_type":"post","content":"my new post content"}

上面的代码返回了我随请求发送的正确参数,但这不会更新 ID 为 51 的帖子中的内容。

我不明白如何更新它。

非常感谢

您需要通过您的请求的授权。 Refer this thread to pass the correct authorization for custom rest endpoint with POST methods: Populate ACF Fields using Wordpress Rest API JS

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM