什么时候wp-cron.php在Wordpress中运行?

时间:2012-10-15 12:29:19

标签: wordpress cron cron-task

我需要有关wp-cron的详细信息。我用了wp_schedule_event 用于自动发送电子邮件。

wp_schedule_event仅在用户访问我们的网站时触发。 如何让cron自动运行?

5 个答案:

答案 0 :(得分:12)

它将在预定时间后第一次访问时运行 1.-是的,自动运行,但由访客触发 2.-足以按计划发送电子邮件。


对于真正的cron行为,您可以使用crontab

运行脚本
crontab -e
wget -q http://domain.com/wp-content/some-path/your-script.php

-q:安静(无输出)。只需运行脚本。否则你的服务器中会有很多文件(wget pull files)

提示:http://www.thegeekstuff.com/2011/07/php-cron-job/


使用cpanel:http://wiki.hostbillapp.com/index.php?title=Settings:_cPanel:_Cron_job

enter image description here

答案 1 :(得分:11)

wp_cron 在后台按照名称的建议方式运行。对于像WordPress这样的Web应用程序,这种调度是不可能的,因为WordPress脚本仅在某人正在查看该站点时运行,并且在没有人查看时它不会运行。相反的是,当WordPress脚本启动时,会检查cron值,如果一个是(over),则它将被执行。可能是晚了几分钟或者晚了几个小时,但这就是它的工作方式。 The wp_cron工作岗位基本上是第一次运作。

如果您想在有人访问该网站时运行脚本,您根本不需要wp_cron。当有人访问时,wp_cron不会触发。这是一个模糊计时器。要在某人访问时运行,您将不得不通过某些人来思考。您可以在主题的functions.php中放置一个函数,但它会在每次加载页面时运行,而不仅仅是在第一次访问时加载。您可以挂钩wp_login并在有人登录时运行您的功能。您将必须首先决定什么才是“访问”。

答案 2 :(得分:4)

似乎每个人都回答了应该设置* nix cron的方式。真正的答案应该是wordpress特定的。有一个设置可以在wp-config.php

中完成
define('DISABLE_WP_CRON', 'true');

现在,如果您可以像Igor Parra一样配置* nix cron,则后台和偏移cron作业将不再运行,其中控制面板或crontab中设置的时间将生效。

答案 3 :(得分:1)

答案 4 :(得分:0)

真实的东西总是更可取,但它可以在Wordpress(纯PHP)中完成:

http://pippinsplugins.com/improved-cron-plugin-review/