Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用WP REST API创建新用户并声明元对象_Php_Json_Wordpress_Wordpress Rest Api - Fatal编程技术网

Php 使用WP REST API创建新用户并声明元对象

Php 使用WP REST API创建新用户并声明元对象,php,json,wordpress,wordpress-rest-api,Php,Json,Wordpress,Wordpress Rest Api,我在这里苦苦思索一个问题。我正在向http://localhost/wp-json/v2/wp/users/使用此JSON数据: { "username" : "johndoe", "email": "jondoe@gmail.com", "password": "qwerty", "meta": { "icq": "11223344" } } 但是当我去查看结果时,meta对象是空的。我使用一个插件实现了这个目标,但是这个插件使用co

我在这里苦苦思索一个问题。我正在向
http://localhost/wp-json/v2/wp/users/
使用此
JSON
数据:

{
    "username" : "johndoe",
    "email": "jondoe@gmail.com",
    "password": "qwerty",
    "meta": {
        "icq": "11223344"
    }

}
但是当我去查看结果时,
meta
对象是空的。我使用一个插件实现了这个目标,但是这个插件使用
cookie
进行身份验证,我还有另一个插件使用
JWT
进行身份验证,所以我认为一个任务需要很多插件


有人有同样的问题吗?甚至在插件的官方文档中我也没有找到解决方案。

只是在另一个堆栈溢出问题中找到了解决方案。使用函数
register\u meta()

现在,我可以使用以下命令发出请求:

{
    "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' );
function more_contactmethods( $contactmethods ) {
    $contactmethods['icq'] = 'ICQ';
    return $contactmethods;
}

add_filter( 'user_contactmethods', 'more_contactmethods' );