在指定时间运行WordPress插件

时间:2015-02-10 作者:Mortzea

我写了wordpress插件。包含curl代码的。。。

当我打开wordpress站点Ex时(http://localhost/wordpresshttp://localhost/wordpress/wp-admin ,...) 此插件正在运行。但是我想每天运行这个插件,永远不要打开url。。

我使用cron\\u schedules函数,但问题没有解决。。

这部分代码

$ch = curl_init ("http://widgets.farsnews.com/currency/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;         rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13\');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, \'UTF-8\');
$page = curl_exec($ch);


$dom = new DOMDocument(\'1.0\', \'utf-8\');
libxml_use_internal_errors(true);
$dom->loadHTML($page);
libxml_clear_errors();
$xpath = new DOMXpath($dom);

1 个回复
SO网友:Austin Curtis

正如您所提到的,WordPress默认情况下仅在访问WordPress站点时运行wp\\u cron。如果您需要可靠地安排一些活动,并且您的站点没有获得一致的流量,那么这当然会导致问题。

要解决这个问题,您可以通过在wp配置中添加以下行来禁用wordpress cron的默认功能。php文件:

define(\'DISABLE_WP_CRON\', true);
禁用默认cron后,您可以在您的计算机(您的Web主机或本地计算机,无论您在哪个环境下运行此站点)上添加一个普通的Unix cron来加载wp cron。定期为您的域创建php。您可以添加这样的cron(将域替换为您自己的域):

/15 * * * wget -q -O – http://yourdomain.com/wp-cron.php?doing_wp_cron
这将导致WordPress站点每15分钟运行一次cron,与加载页面的流量无关。

How to set up a Linux/Unix Cron:

How to set up a Cron with cPanel or Plesk:

结束

相关推荐

FILE_GET_CONTENTS_CURL拉取错误的值

我正在使用file\\u get\\u contents\\u curl获取facebook喜欢的帖子,并将其存储在我的数据库中。 $fb = json_decode(file_get_contents_curl(\'http://graph.facebook.com/?id=\'.get_permalink($post->ID))); if( !isset( $fb->likes) && isset($fb->shares) )