Come attivare l'email di ordine completato in WooCommerce?

18 apr 2015, 22:09:23
Visualizzazioni: 28.3K
Voti: 12

Vorrei poter attivare l'email di ordine completato di WooCommerce in una fase diversa del processo di checkout. Ho già disabilitato l'email di ordine completato dal backend di WooCommerce e ora sto cercando un codice che mi permetta di attivare l'email nel momento che preferisco. Ho fatto alcune ricerche e ho trovato come rimuovere l'email di ordine completato ma non come attivarla manualmente. Qualche suggerimento?

Grazie!

0
Tutte le risposte alla domanda 3
1
18

Puoi provare questo

$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails ) ) {
    foreach ( $mails as $mail ) {
        if ( $mail->id == 'customer_completed_order' ) {
           $mail->trigger( $order->id );
        }
     }
}
19 apr 2015 00:06:39
Commenti

Grazie. C'è un modo per assicurarsi che qualcuno non ne abusi, ad esempio se inserisco quel codice in un punto specifico della pagina di ringraziamento, c'è un modo per non inviare un'email ogni volta che una persona aggiorna la pagina?

user3210369 user3210369
20 apr 2015 06:51:16
2

Invece di utilizzare un ciclo o riutilizzare lo stesso oggetto come suggerito da @Sumit. Puoi inizializzare un nuovo oggetto e poi chiamare il trigger.

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
20 set 2018 06:50:53
Commenti

Se questa è una classe di ordine predefinita di WP allora sì... se è personalizzata verrà aggiunta utilizzando il filtro woocommerce_email_classes, quindi la classe email personalizzata potrebbe semplicemente non essere disponibile sulla richiesta.

Ramon Fincken Ramon Fincken
14 mag 2021 16:25:38

@RamonFincken questo è nel core di WooCommerce

GeorgeP GeorgeP
9 feb 2024 02:45:14
0

Può anche essere utilizzato in questo modo;

WC()->mailer()->emails['WC_Email_Customer_Completed_Order']->trigger( $order_id );
11 lug 2021 14:38:41