我创建了一个wp cron事件,自定义间隔为5分钟,但它只每小时执行一次,而不是每5分钟执行一次。(回调已正确执行。)
DISABLE\\u WP\\u CRON常量设置为true,WP CRON。php每5分钟通过crontab调用一次。(https://developer.wordpress.org/plugins/cron/hooking-into-the-system-task-scheduler/)调试中没有错误。日志(WP\\u DEBUG设置为true)。
我用wordpress插件boilderplate生成器创建了我的插件(https://wppb.me/).
我的代码(在Wp\\u Goldprice\\u Activator类中,函数activate()):
function fetch_metal_prices_recurrence( $schedules ) {
$schedules[\'every_five_minutes\'] = array(
\'display\' => \'every 5 minutes\',
\'interval\' => 300
);
return $schedules;
}
add_filter( \'cron_schedules\', \'fetch_metal_prices_recurrence\' );
// Schedule custom-interval Cron Job Event
if ( ! wp_next_scheduled ( GPR_PLUGIN_NAME . \'_fetch_metal_prices\' )) {
wp_schedule_event( current_time( \'timestamp\' ), \'every_five_minutes\', GPR_PLUGIN_NAME . \'_fetch_metal_prices\' );
}
// Schedule hourly Cron Job Event
if ( ! wp_next_scheduled ( GPR_PLUGIN_NAME . \'_fetch_metal_prices_reschedule\' )) {
wp_schedule_event( current_time( \'timestamp\' ), \'hourly\', GPR_PLUGIN_NAME . \'_fetch_metal_prices_reschedule\' );
}
}
我每小时都会重新安排5分钟的事件,因为它会在第一次自动执行后消失(但不是手动执行!)。每小时事件不会消失(自动执行时)。我也找不到原因或解决方案。这可能与问题有关,但wp\\u next\\u scheduled()仍会立即返回未来1小时的时间,而不是5小时。我知道,以前有人问过这个问题,但没有提出有效的解决方案(多年前就发布了):
如果您对此有任何想法,我将不胜感激,我已经没有想法了。