Прикрепите pdf только к определенному уведомлению по электронной почте в Woocommerce - PullRequest
0 голосов
/ 15 ноября 2018

Прикрепите PDF к ТОЛЬКО woocomerce новый заказ по электронной почте

Я использую этот код, но PDF привязывается к каждому письму в woocommerce

 add_filter( 'woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3);
 function attach_terms_conditions_pdf_to_email ( $attachments , $email_id, $email_object ) {

     $your_pdf_path = get_template_directory() . '/terms123.pdf';
    $attachments[] = $your_pdf_path;

    return $attachments;
 }

1 Ответ

0 голосов
/ 15 ноября 2018

Обновление 2

Нет уведомлений «Новый заказ» для клиентов в Woocommerce… В зависимости от включенных способов оплаты, уведомления для таргетингаможет быть «Заказ клиента на удержании» или / и «Заказ клиента на обработку» (см. раздел в конце)

Следующее включит приложение PDF для электронной почты Заказа на удержаниеуведомление:

add_filter( 'woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3 );
function attach_terms_conditions_pdf_to_email ( $attachments , $email_id, $email_object ) {
    // Avoiding errors and problems
    if ( ! is_a( $order, 'WC_Order' ) || ! isset( $email_id ) ) {
        return $attachments;
    }

    // Only for "Customer On Hold" email notification (for customer)
    if( $email_id === 'customer_on_hold_order' ){

        $your_pdf_path = get_template_directory() . '/terms123.pdf';
        $attachments[] = $your_pdf_path;
    }

    return $attachments;
}

Код входит в файл function.php вашей активной дочерней темы (активной темы). Протестировано и работает.


В зависимости от включенных шлюзов оплаты в вашей установке, вы можете:

1) Вместо этого вы можете использовать «Обработка» электронных писем, заменив эту строку:

if( $email_id === 'customer_on_hold_order' ){

этим:

if( $email_id === 'customer_processing_order' ){

2) Вы можете использовать электронные письма Клиента «В ожидании» и «Обработка», заменив эту строку:

if( $email_id === 'customer_on_hold_order' ){

следующим:

if( in_array( $email_id, array( 'customer_on_hold_order', 'customer_processing_order' ) ){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...