我正在使用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"}]}
答案 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
});