php - WordPress 计划事件未在设定时间触发

标签 php wordpress cron cron-task

在 WordPress 中,我创建了一个插件,用于向用户发送电子邮件。为此,我正在使用 WordPress cron 作业。所以基本上它会做的就是每小时向用户发送电子邮件。 所以我的代码看起来像这样

public function __construct() {
    add_action('init', array( $this, 'send_emails_to_users') );  
    add_action('cliv_recurring_cron_job', array( $this, 'send_email') );
}

public function send_emails_to_users() {
  if(!wp_next_scheduled('cliv_recurring_cron_job')) {
          wp_schedule_event (time(), 'hourly', 'cliv_recurring_cron_job');
    }
}

public function send_email() {
    //send email code goes here
}

这里一切看起来都不错,但它没有发送电子邮件。

如果我这样写代码

public function __construct() {
    add_action('head', array( $this, 'send_email') );  
}

然后它发送电子邮件。但问题在于它会在每次加载页面或用户访问网站时发送电子邮件。

这就是为什么我想使用 wp_schedule_event 每小时发送一次电子邮件。

那么有人可以告诉我如何解决这个问题吗?

任何建议或帮助将不胜感激。

最佳答案

首先, 1)如果你想动态工作,你需要在你的服务器中设置crontab 2) 如果你想手动 wordpress scheduler 将在页面运行后调用

所以,

下面的 crontab 设置是有用的链接: crontab

关于php - WordPress 计划事件未在设定时间触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36316336/

相关文章:

"sudo crontab -e"和 "crontab -e"之间的 linux 区别

php - wkhtmltopdf:如何使用它?

php - wp_insert_post 带有自定义分类法

amazon-web-services - 如何安排 AWS lambda cron 在月底前 7 天运行?

php - 为什么我不能包含博客?

php - WordPress基于MySQL中join 2表的更新语句

java - 调用 HTTP Restful api 的 Cron 作业

php - 动态切换语言 PHP,Javascript, jQuery UI

php - zoneinfo:新的 right 和 posix 区域名称前缀是什么?

php - 教义迁移-连接被拒绝