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

问题描述 投票:0回答:1

我正在为Post Type Post创建自定义端点。来自Javascript的请求可以正常运行,但无法理解更新的方式,例如帖子的内容。

[我已经创建并注册了一条路线,我已经创建了一条路线的回调函数,并且已经创建了一个小表格,在其中插入了帖子ID和内容。

这是路线代码

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

这是回调函数

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的帖子中的内容。

我不知道如何更新。

非常感谢

javascript wordpress wordpress-rest-api
1个回答
0
投票

您需要随请求一起通过授权。引用此线程以使用POST方法为自定义的休息端点传递正确的授权:Populate ACF Fields using Wordpress Rest API JS

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.