我在这里挣扎着提问。我正在使用此POST
数据向http://localhost/wp-json/v2/wp/users/
发送JSON
:
{
"username" : "johndoe",
"email": "jondoe@gmail.com",
"password": "qwerty",
"meta": {
"icq": "11223344"
}
}
但是当我去看结果时,meta
对象是空白的。我使用插件完成了目标,但是此插件使用cookie
进行身份验证,并且我有另一个使用JWT
进行身份验证的插件,因此我认为对于一个插件有很多插件单一任务。
有人有同样的问题吗?甚至在插件的官方文档中我都找不到解决方案。
答案 0 :(得分:1)
刚刚在Stack Overflow的另一个问题中找到了解决方案。使用函数register_meta()
:
register_meta('user', 'icq', array(
"type" => "string",
"show_in_rest" => true
));
现在我可以使用:
发出请求{
"username" : "johndoe",
"email": "jondoe@gmail.com",
"password": "qwerty",
"meta": {
"icq": "11223344"
}
}
响应是:
{
"id": 49,
"username": "johndoe",
"name": "johndoe",
"first_name": "",
"last_name": "",
"email": "johndoe@gmail.com",
"url": "",
"description": "",
"link": "http://localhost/author/johndoe/",
"locale": "en_US",
"nickname": "johndoe",
"slug": "johndoe",
"roles": [
"subscriber"
],
"registered_date": "2018-01-13T11:53:57+00:00",
"capabilities": {
"read": true,
"level_0": true,
"subscriber": true
},
"extra_capabilities": {
"subscriber": true
},
"avatar_urls": {
"24": "http://2.gravatar.com/avatar/29a1df4646cb3417c19994a59a3e022a?s=24&d=mm&r=g",
"48": "http://2.gravatar.com/avatar/29a1df4646cb3417c19994a59a3e022a?s=48&d=mm&r=g",
"96": "http://2.gravatar.com/avatar/29a1df4646cb3417c19994a59a3e022a?s=96&d=mm&r=g"
},
"meta": {
"icq": [
"11223344"
]
},
"_links": {
"self": [
{
"href": "http://localhost/wp-json/wp/v2/users/49"
}
],
"collection": [
{
"href": "http://localhost/wp-json/wp/v2/users"
}
]
}
}
如果我想在/wp-admin/
中显示/编辑,我也只使用此功能:
function more_contactmethods( $contactmethods ) {
$contactmethods['icq'] = 'ICQ';
return $contactmethods;
}
add_filter( 'user_contactmethods', 'more_contactmethods' );