在 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/