【问题标题】:How to write real cron job in wordpress?如何在 wordpress 中编写真正的 cron 作业?
【发布时间】:2016-12-18 21:47:13
【问题描述】:

我在wp-config.php 中完成了define('DISABLE_WP_CRON', 'true');

我设置了 cron 路径,但实际上我不知道如何编写代码,以便调用该 URL 将执行我的代码。我想在 WordPress cron 作业上编写真正的 cron 作业。

我在function.php 中尝试过,但没有成功:

if (! wp_next_scheduled ( 'my_hourly_event' )) {
    wp_schedule_event(time(), 'hourly', 'my_hourly_event');
    }
add_action('my_hourly_event', 'do_this_hourly');

function do_this_hourly() {
    // do something every hour
}

【问题讨论】:

  • “没用”是什么意思? “如何编写代码以便调用该 URL 将执行我的代码”是什么意思?这正是 PHP 在 Web 服务器上正常配置时所做的事情。 Cron 旨在做一些非常不同的事情:它按计划运行代码,无需用户采取任何行动。
  • 请注意,如果预定时间已过,当有人访问您的 WordPress 站点时,WordPress cron 作业操作将触发。

标签: php wordpress cron


【解决方案1】:

这里是为我解决这个问题的帖子的链接: http://support.hostgator.com/articles/how-to-replace-wordpress-cron-with-a-real-cron-job

要点:

  • 您似乎已经正确准备了一切 - 您的代码安排了每小时执行一次 do_this_hourly 函数。但是,由于 wp-config.php 中的 define('DISABLE_WP_CRON', 'true');,除非您自己向 http://yourwebsite.com/wp-cron.php?doing_wp_cron 发出请求,否则该函数只会被调度而不会执行。
  • 剩下要做的就是设置系统 cron
  • 如果您使用的是基于 Unix 的系统 (Linux/Mac),请在服务器的命令行中尝试 crontab -e,并添加如下一行: wget -q -O - http://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

不要忘记将http://yourwebsite.com 替换为您的网站域。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 2013-03-06
    相关资源
    最近更新 更多