我创建了一个wordpress插件,在发布后我会调用一个函数,它会向我的服务器发送一个帖子请求,包括博客帖子ID,帖子头和URL。
一切都运转良好,但' publish_post'它很慢,因为它等待服务器响应。我使用PHP curl方法进行服务器连接。
我甚至尝试过
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 0.1);
但是没有对响应延迟做出任何改变。
function on_post_publish( $ID) {
$subject=get_the_title( $ID );
$url= get_permalink( $ID )
send_data_to_server($subject,$url,$ID);
}
add_filter( 'publish_post', 'on_post_publish', 10, 2 );
function send_data_to_server($subject,$client_url,$ID){
$url = "http://....../plugin.php";
$data="subject=".$subject."&url=".$client_url."&post_id=".$ID;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,
$data);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array("Content-type: application/x-www-form-urlencoded"));
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 0.1);
$json_response = curl_exec($curl);
curl_close($curl);
}