Tek seferlik zamanlanmış görev nasıl oluşturulur?

Merhabalar; WordPress’in aşağıda belirttiğim zamanlanmış görev fonksiyonunu herhangi bir işlemin sonuna ekleyerek işlemden belirli bir zaman sonra tanımladığınız bir görevi çalıştırmasını sağlayabilirsiniz.

wp_schedule_single_event( int $timestamp, string $hook, array $args = array(), bool $wp_error = false ): bool|WP_Error

Örnek verecek olursak, WooCommerce sipariş durumu tamamlandıya geçtikten 10 dk sonra müşteriye faturasını e-posta olarak iletelim.

add_action( 'woocommerce_order_status_completed' , function( $order_id ) {
    wp_schedule_single_event( time() + 10 , 'send_invoice_after_ten_minutes' , [ $order_id ] );
});

add_action( 'send_invoice_after_ten_minutes' , function( $order_id ){
    // Fatura ve e-posta gönderim işlemleriniz
});

Örnek üzerinden parametre tanımları ;
$timestamp ( time() + 10 ) : 10 Dakika sonra çalış
$hook ( ‘send_invoice_after_ten_minutes’ ) : Tetiklenecek kanca ( Bu kancaya bağlı tüm fonksiyonlar tetiklenir )
$arg ( $order_id ) : Fonksiyonun alacağı parametre değerleri ( Dizi olarak verilmelidir )

1 Beğeni