WP插件中的异步php代码

WP插件中的异步php代码,php,curl,asynchronous,wordpress,Php,Curl,Asynchronous,Wordpress,需要使此代码块与其余代码异步。它将收集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); cur

需要使此代码块与其余代码异步。它将收集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);
}
对于($x=0;$x使用,代码示例:

$request = $client->createRequest('GET', ['future' => true]);
$client->send($request)->then(function ($response) {
    echo 'Got a response! ' . $response;
});

看看你是如何做到的。还要检查一些额外的信息。实际上在
Guzzle
中用作处理程序层,在底部,为
PHP

提供了
承诺/A
支持。在WordPress中处理异步请求的正确方法是使用WP Cron来安排事件。你可以r计划它运行一次或每隔一段时间运行。请参阅有关设置它的一些指南。要检查的两个主要功能是和


但是,需要记住的一点是,由于您的代码仅在有请求时运行,如果流量较低,则计划的事件可能不会在预期的情况下运行。我在我的网站上写了一篇文章,介绍了如何将crontab与WP Cron结合使用,以更准确地计划事件:。

如果您想要异步ronous,您可能必须使用Node.js或其他替代方法。PHP对异步不友好。需要为Wordpress本身制作此插件,并将其提供给博客作者,因此除了PHP之外别无其他选择。再说一次,PHP在这方面很糟糕,所以您发现的任何东西都将是一个黑客解决方法-但可能或将有所帮助我在我的站点上处理WP Cron的方法是通过在WP config.php中将disable_WP_Cron常量设置为false来完全禁用它。
…我想你已经把它放在后面了。@rnevius谢谢修复了它。