Create User using JSON API

时间:2013-08-05 作者:Alex Aung

我正在使用JSON API从我的应用程序获取帖子列表。

我需要从应用程序创建用户(注册新用户)。我可以知道如何向Wordpress JSON-API添加新函数吗?

你好,亚历克斯

3 个回复
SO网友:kaiser

我从未使用过这个插件和新的JSON Rest API 可能会包含在未来版本的core中。到目前为止,它和插件一样可用。

简而言之:目前该插件中似乎只有三种控制器

核心帖子回复,但有一节main 插件页面,解释how to extend the plugin and how to develop JSON API Controllers. 所以它实际上只是稍微修改了一下copypaste from 你本可以在detailed plugin page !

class JSON_API_Hello_Controller
{
    public function hello_world()
    {
        return array(
            "message" => "Hello, world"
        );
    }
}
您的控制器现在可以作为hello, 并暴露了一个hello_world 方法

接下来,从WordPress管理界面激活控制器,该界面可从设置>JSON API下的菜单获得。您可以单击指向hello_world 方法或手动输入。其格式应为:http://www.example.org/api/hello/hello_world/?dev=1http://www.example.org/?json=hello.hello_world&dev=1 (请注意dev 参数以启用人类可读的输出)。您应该获得以下输出:

{
    "status": "ok",
    "message": "Hello, world"
}
使用查询变量要自定义控制器的行为,您需要使用全局变量$json_api->query 对象将以下方法添加到控制器:

public function hello_person()
{
    global $json_api;
    $name = $json_api->query->name;
    return array(
        "message" => "Hello, $name."
    );
}
现在,将名称query var附加到方法调用:

http://www.example.org/api/hello/hello_world/?dev=1&name=Alice
。。。或

http://www.example.org/?json=hello.hello_world&dev=1&name=Alice.
结果将是:

{
    "status": "ok",
    "message": "Hello, Alice"
}
要使控制器在外部插件或主题目录中可见,需要使用两个过滤器:json_api_controllersjson_api_[controller]_controller_path. 只需创建一个保存控制器的自定义插件并添加以下代码:

<?php
/** Plugin Name: (#109019) Custom Hello JSON API Controller */

function add_hello_controller( $controllers )
{
    $controllers[] = \'hello\';
    return $controllers;
}
add_filter( \'json_api_controllers\', \'add_hello_controller\' );

function set_hello_controller_path()
{
    return plugin_dir_path( __FILE__ )."helloController.php";
}
add_filter( \'json_api_hello_controller_path\', \'set_hello_controller_path\' );

// >> Controller goes here <<

// A more organized file structure might work as well, but it\'s ok
// to stuff everything in a single file if used as mu-plugin.
您可以在控制器中使用任何类型的WP公共API函数。JSON API还有一个中间件层。示例:

global $json_api;
$posts = $json_api->introspector->get_posts( array(
    \'meta_key\'   => $json_api->query->key,
    \'meta_value\' => $json_api->query->value
));

SO网友:Dave

尝试JSON API User 插件。它宣称可以为您注册新用户。

SO网友:Goran Jakovljevic

使用WP API v2,它实现了用户控制器。如果你使用的是V1,那么上面提到的插件就有了。

结束

相关推荐