emails['WC_Email_Customer_Completed_Order'] ) ) { remove_action( 'woocommerce_order_status_completed_notification', array( $wc_emails->emails['WC_Email_Customer_Completed_Order'], 'trigger' ) ); } } /** Zařadí objednávku do fronty; každý další e-mail dostane pozdější slot. */ public static function enqueue( $order_id ) { $order_id = (int) $order_id; // Fallback, kdyby Action Scheduler nebyl k dispozici – pošli hned. if ( ! function_exists( 'as_schedule_single_action' ) ) { self::process( $order_id ); return; } $now = time(); $next = (int) get_option( self::SLOT_OPT, 0 ); // Slot = buď „teď", nebo navazuje na poslední naplánovaný (self-healing přes max()). $slot = max( $now, $next ); update_option( self::SLOT_OPT, $slot + self::interval(), false ); // autoload = false as_schedule_single_action( $slot, self::HOOK, array( $order_id ), self::GROUP ); } /** Worker: znovu spustí standardní WooCommerce e-mail pro danou objednávku. */ public static function process( $order_id = 0 ) { $order_id = (int) $order_id; if ( ! $order_id ) { return; } $emails = WC()->mailer()->get_emails(); if ( isset( $emails['WC_Email_Customer_Completed_Order'] ) ) { $emails['WC_Email_Customer_Completed_Order']->trigger( $order_id ); } } } add_action( 'init', array( 'WC_Mail_Throttle', 'init' ) ); endif;