需要使此代码块与其余代码异步。它会收集wp帖子,并向我的url发送一个帖子请求。该插件应异步运行,并且不会妨碍wordpress网站的功能。

for ($x=0; $x<=n; $x++) {
$data = posts[$x];
$ch = curl_init('http://myurl.com/');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'ACCEPT: application/json',
'Content-Length: ' . strlen($data))
);

$result = curl_exec($ch);
curl_close($ch);
}

最佳答案

在WordPress中处理异步请求的正确方法是使用WP-Cron安排事件。您可以安排它运行一次或间隔运行一次。有关设置here的信息,请参见一些指南。 check out 的两个主要功能是 wp_schedule_event() wp_schedule_single_event()

但是要记住的一件事是,由于您的代码仅在有请求时才运行,因此,如果通信量较低,则您的预定事件可能不会在预期时运行。我在我的网站上写了一篇文章,内容涉及如何将crontab与WP-Cron结合使用以更准确地安排事件的时间:http://justinsilver.com/technology/wordpress/disable-wp-cron-wordpress/

关于php - WP插件中的异步php代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26826780/

10-13 09:22