如何使用CURL为Wordpress

时间:2015-11-17 10:09:12

标签: php wordpress curl

我想将数据从一个WP站点发送到另一个站点。 我有两个插件发送者和reciver。 在发送方,我使用了init hook

add_action('init', array($this, 'say_hello') );

....

public function say_hello() {
$data = get_plugin_data( $this->pDIR.'/plugin.php', $markup = false, $translate = false );

$url = $_SERVER['HTTP_HOST'].'/wp-admin/admin-ajax.php';

$fields = array(
          'action' => 'Hello_ajax',
          'zpm_hello' => '1',
          'zpm_plugin_version' => $data['Version'],
          'zpm_host' => $_SERVER['HTTP_HOST']
);

foreach($fields as $key=>$value) { 
        $fields_string .= $key.'='.$value.'&'; 
}
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
//execute post
$result = curl_exec($ch);
var_dump($result);
//close connection
curl_close($ch);

}

我打印出来的变量很好,网址是正确的。 在reciver方面,我注册了admin ajax

add_action('wp_ajax_Hello_ajax', array($this, 'zpm_api_hello'));
add_action('wp_ajax_nopriv_Hello_ajax', array($this, 'zpm_api_hello'));

public function zpm_api_hello() {
    $response['success'] = false;
    $response['response'] = "";
    $error = false;

    $hello          = $_POST['zpm_hello'];
    $plugin_version = $_POST['zpm_plugin_version'];
    $plugin_host    = $_POST['zpm_host'];

    if(!isset($hello)) {
        $error = true;
        $response['response'] .= "Ello >> Auth ERROR - CODE - 01 ";
    } 

    if(!isset($plugin_version)) {
        $error = true;
        $response['response'] .= "Ello >> Plugin Version error - CODE - 02 ";
    }

    if(!isset($plugin_host)) {
        $error = true;
        $response['response'] .= "Ello >> Plugin host error - CODE - 03 ";
    }


    if(!$error) {
        $response['success'] = true;
        $response['response'] .= "Ello >> Auth OK ";
    }

    echo json_encode($response);
    die();
}

所以代码在这里。 我的问题是,当我尝试加载发件人网站时,它只是加载和加载永远,我没有得到结果。你能告诉我这个方法有什么问题吗?谢谢你的所有答案!

1 个答案:

答案 0 :(得分:0)

您可能希望使用此示例来构建您的PHP请求,如果您向我发送POST正文,标题和url参数,我甚至会为您构建它:

i