Я пытаюсь запланировать отдельное событие, которое будет перепланировано, мне нужно, чтобы платежи обрабатывались еженедельно в зависимости от идентификатора заказа.
// 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 оно показывает событие при первом его создании, но не переносит его заново.
Любые предложения