Wordpress:从外部调用wp_create_user函数?

时间:2013-10-02 06:57:09

标签: wordpress api function curl user-registration

在Wordpress中,我想从外部创建新用户。我发现这是wordpress中的功能:

wp_create_user( $username, $password, $email );

那我怎么能从外部呼叫中运行这个功能呢?

我的意思是,如何从以下两种方式运行此函数:

  • 通过GET的简单网址,例如:www.example.com/adduser/?username=james&password=simpletext&email=myemail
  • 通过POST使用cURL

..来自外部网站。

1 个答案:

答案 0 :(得分:1)

您可以尝试这一点,但也要确保侦听网址有一个处理程序来处理WordPress结尾的请求(使用GET methof)

function curlAdduser($strUrl)
{
    if( empty($strUrl) )
    {
        return 'Error: invalid Url given';
    }

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $strUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    $return = curl_exec($ch);
    curl_close($ch);
    return $return;
}

从外部网站调用该功能:

curlAdduser("www.example.com/adduser?username=james&password=simpletext&email=myemail");
使用POST方法

更新

function curlAdduser($strUrl, $data) {
    $fields = '';
    foreach($data as $key => $value) { 
        $fields .= $key . '=' . $value . '&'; 
    }
    $fields = rtrim($fields, '&');

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $strUrl);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    $return = curl_exec($ch);
    curl_close($ch);
    return $return;
}

使用data

调用该函数
$data = array(
    "username" => "james",
    "password" => "simpletext",
    "email" => "myemail"
);
curlAdduser("www.example.com/adduser", $data);