我正在尝试安排一个将自行重新安排活动的事件,我需要根据订单ID每周处理付款。
// on page load(for testing) schedule event - confirmed this works with
// WP Crontrol - plugin
add_action('wp', 'process_temp_payment');
function process_temp_payment(){
if ( ! wp_next_scheduled( 'schedule_weekly_payment' )) {
wp_schedule_single_event( time() + 40,
'schedule_weekly_payment',
array(4) ); // Sample order id
}
}
这是动作:
add_action('schedule_weekly_payment', 'process_payment');
function process_payment( $order_item_id, $set_cron = true ) {
wp_mail('justin@example.com', 'running cron', 'Cron executing');
if ($set_cron){
if ( ! wp_next_scheduled( 'schedule_weekly_payment' ,
array($order_item_id))) {
wp_schedule_single_event( time() + 40,
'schedule_weekly_payment',
array($order_item_id) );
}
}
}
我只收到一封电子邮件,并且在WP Crontrol管理员管理页面中显示了该事件的首次创建,但该事件本身并未重新安排。
任何建议