如何使用WordPress Rest API v2更新用户元

时间:2017-10-29 14:24:08

标签: wordpress wordpress-rest-api

我正在使用WordPress 4.8并尝试使用内置的rest api更新用户元字段。我可以更新用户的其他字段,但不能更新用户的元字段。我尝试将以下json主体POST到服务器,但我根本没有更新。希望任何人都可以向我展示如何更新用户的元字段的帖子请求。

URL : http://example.com/wp-json/wp/v2/users/100  
method : POST 
content-type: application/json 
body : {"meta":{"meta_key":"meta_value"}} or {"meta": {"key":"meta_key","value":"meta_value"}} or {"meta":[{"meta_key":"meta_value"}]} or {"meta":[{"key":"meta_key","value":"meta_value"}]}

1 个答案:

答案 0 :(得分:0)

我能够通过注册要通过API更新的元值来解决此问题:

register_meta('user', 'my_meta_value_name', [ 'type' => 'string', 'single' => true, 'show_in_rest' => true, ]);

然后使用JavaScript我们可以像这样更新它:

var currentUserId = 1; var apiUrl = '/wp-json/wp/v2/users/' + currentUserId; var data = { 'id': currentUserId, 'meta': { 'my_meta_value_name': 'new value' } }; $.ajax({ method: 'POST', url: apiUrl, headers: {'X-WP-Nonce': 'nonce_value_here'}, data: data }) .success(function (data) { // do stuff }) .fail(function (data) { // do stuff });