我正在尝试围绕wp cron作业,并且一直在玩下面的代码片段,它应该每小时发送一封电子邮件到指定的电子邮件地址,前提是访问者访问过该网站并触发了这项工作(wp cron的工作显然不是真正的chron工作,我已经明白了)。
现在,这项工作的工作原理是将电子邮件发送到电子邮件地址,但有两个问题:
这是代码(从wp_schedule_event not firing重新审核):
if ( ! wp_next_scheduled( 'prefix_hourly_event' ) ) {
wp_schedule_event( time(), 'hourly', 'prefixhourlyevent');
}
add_action( 'prefixhourlyevent', 'prefix_do_this_hourly' );
function prefix_do_this_hourly() {
wp_mail('myemail@gmail.com','Cron is working', 'Cron is working: ','','');
}
有人能够让我知道为什么不是每小时发送一封电子邮件? // Mega WP Noob
答案 0 :(得分:0)
您正在检查某个活动是否已安排,以及何时未找到您以其他名称注册的活动。不匹配是导致它在每个页面加载时运行的原因。
改变这个:
AudioServicesPlaySystemSound(1104)
对此:
if ( ! wp_next_scheduled( 'prefix_hourly_event' ) ) {
我还会看一下你是否可以检查一次计划而不是每次加载页面。如果你正在编写一个插件,你可以在插件激活钩子上激活它。
进一步阅读:https://codex.wordpress.org/Function_Reference/wp_schedule_event