Un utente ha chiesto informazioni su Germanized for WooCommerce di Wordpress

Allegati PDF quando si chiama manualmente WC_Email_Customer_Completed_Order ()

Un utente ha chiesto 👇

Ciao!

Devo solo inviare il certificato d’ordine dopo che il pagamento è stato completato.
Quindi ho aggiunto questo codice, che funziona perfettamente:

add_action( 'woocommerce_payment_complete', 'ww_payment_complete' );
function ww_payment_complete( $order_id ){
    $email_o = new WC_Email_Customer_Completed_Order();
    $email_o->trigger($order_id);
}

MA devo allegare PDF (tramite e-mail> tedesco), ma per come chiamo la funzione e-mail, il PDF non è allegato.
Funziona perfettamente, quando WooCommerce invia direttamente l’e-mail di conferma del comando: i file sono allegati.

Autore del plugin

(@vendidero)

1 anno, 5 mesi fa

Ciao,

leghiamo i PDF tramite filtri ufficiali WooCommerce (ad es. woocommerce_email_attachments). Potresti voler controllare se il nostro filtro è applicato inserendo alcuni output di test WC_GZDP_Legal_Page_Helper::attach_pdfs.

Potrebbe essere meglio non avviare un nuovo oggetto di posta elettronica ma utilizzare quelli esistenti, ad esempio:

$mails  = WC()->mailer()->emails;
$email_o = $mails['WC_Email_Customer_Completed_Order'];

Saluti

Lanciatore di thread

(@teresasumisu)

1 anno, 5 mesi fa

Sfortunatamente, l’utilizzo dell’oggetto esistente non ha funzionato.

Autore del plugin

(@vendidero)

1 anno, 5 mesi fa

Ciao,

quindi indagare ulteriormente seguendo il mio approccio sopra. Potrebbe essere necessario verificare se il nostro filtro è applicato o meno. Non vedo alcun problema con il codice: di solito dovrebbe essere applicato correttamente anche quando si richiede manualmente l’e-mail. Hai provato a disattivare gli altri plugin uno dopo l’altro?

Saluti

Lanciatore di thread

(@teresasumisu)

1 anno, 5 mesi fa

Ciao!
Ho provato ad allegare un altro file in WC_GZDP_Legal_Page_Helper :: attach_pdfs con il percorso completo e il file allegato è stato aggiunto. Quindi è un problema di percorso, oppure gli allegati della variabile $ sono vuoti a questo punto.
Non posso indagare ulteriormente su questo ora. Spero che tu risolva questo problema, sarebbe fantastico.

Ecco cosa sto facendo adesso:

add_filter( 'woocommerce_email_attachments', 'attach_disclaimer_pdf_to_email', 10, 3);
function attach_disclaimer_pdf_to_email ( $attachments , $id, $object ) {

    if($id = 'customer_completed_order') {
        $serverRoot = $_SERVER['DOCUMENT_ROOT'];
        $attachments[] = $serverRoot. '/wp-content/uploads/2019/10/pdf.pdf';
        $attachments[] = $serverRoot. '/wp-content/uploads/2019/10/myfile.pdf';
    }

	return $attachments;
}

add_action( 'woocommerce_payment_complete', 'lw_payment_complete' );
function lw_payment_complete( $order_id ){
    $mails  = WC()->mailer()->emails;
    $email_o = $mails['WC_Email_Customer_Completed_Order'];
    $email_o->trigger($order_id);
}

Questa risposta è stata modificata 1 anno, 5 mesi fa. Questa risposta è stata modificata 1 anno, 5 mesi fa. Autore del plugin

(@vendidero)

1 anno, 5 mesi fa

Ciao,

Ho appena testato lo script per me stesso. Ho richiesto l’ordine tramite posta completa, inclusi gli allegati, proprio come hai fatto tu. Non riesco a trovare alcun problema con gli allegati – Ho selezionato gli allegati allegati come configurato.

Potrebbe essere necessario eseguire il debug un po ‘oltre, ad es. controlla la variabile $ attachment all’interno di WC_GZDP_Legal_Page_Helper :: attach_pdfs (var_dump ($ attachment)).

Saluti

Lanciatore di thread

(@teresasumisu)

1 anno, 5 mesi fa

Ho scoperto che qualsiasi modifica di Ido al messaggio del prompt dei comandi nelle impostazioni del bagno non viene applicata al messaggio che sto inviando all’interno dell’azione ‘woocommerce_payment_complete’ Ábhar no Content, no Confirmation Text, Attachments ecc … sembra essere WC questo è un bug.
Ho provato la stessa cosa in un’altra installazione di WP, lo stesso problema.

Autore del plugin

(@vendidero)

1 anno, 5 mesi fa

Ciao,

come ho detto, l’ho testato con successo. Dovresti provare a disabilitare altri plugin ed estensioni prima di considerarlo un bug.

Saluti

Questa risposta è stata modificata 1 anno, 5 mesi fa.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *