1

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

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

那么我怎样才能从外部调用运行这个功能呢?

我的意思是,如何从以下任一方式运行此功能:

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

..来自外部网站。

4

1 回答 1

1

你可以试试这个,但也要确保监听 url 有一个处理程序来处理你的请求WordPress(使用GETmethof)

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);
于 2013-10-02T09:06:43.130 回答