wp_schedule_single_event не перепланирует - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь запланировать отдельное событие, которое будет перепланировано, мне нужно, чтобы платежи обрабатывались еженедельно в зависимости от идентификатора заказа.

// 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 оно показывает событие при первом его создании, но не переносит его заново.

Любые предложения

...