Исключить вложения электронной почты из определенных почтовых уведомлений в Woocommerce - PullRequest
0 голосов
/ 04 сентября 2018

Я хотел бы исключить добавленные вложения электронной почты для пароля сброса клиента и электронной почты новой учетной записи клиента или ограничить добавление некоторых вложений в электронные письма заказа Woocommerce только (и исключать вложения для писем, отправляемых администратору) . Является ли это возможным?

add_filter( 'woocommerce_email_attachments', 'doc_to_email', 10, 3);
function doc_to_email ( $attachments , $id, $object ) {
    $attachments = array();

    array_push($attachments, get_home_path() . '/doc/Zasady_ochrany_osobnich_udaju.pdf' ); 

    if( !$id == array( 'customer_reset_password', 'customer_new_account') ) {

    array_push($attachments, get_home_path() . '/doc/VOP.pdf' ); 
    array_push($attachments, get_home_path() . '/doc/Reklamacni_rad.pdf' ); 
    array_push($attachments, get_home_path() . '/doc/Reklamacni_protokol.pdf' ); 
    array_push($attachments, get_home_path() . '/doc/Formular_pro_odstoupeni_od_smlouvy.pdf' ); 
    }
    return $attachments;
}

Спасибо тебе

1 Ответ

0 голосов
/ 04 сентября 2018

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

add_filter( 'woocommerce_email_attachments', 'custom_email_attachments', 20, 3 );
function custom_email_attachments ( $attachments = [] , $email_id, $order ) {
    // HERE define customer and admin excluded email Ids
    $excluded_customer_email_ids = array( 'customer_reset_password', 'customer_new_account' );
    $excluded_admin_email_ids = array( 'new_order', 'cancelled_order', 'failed_order' );

    // Excluding attachements from admin email notifications
    if( in_array( $email_id, $excluded_admin_email_ids ) ) 
        return [];

    $file_path = get_home_path() . '/doc/';

    $attachments[] = $file_path . 'Zasady_ochrany_osobnich_udaju.pdf'; 

    // Excluding some customer email notifications
    if( ! in_array( $email_id, $excluded_customer_email_ids ) ) {

        $attachments[] =  $file_path . 'VOP.pdf'; 
        $attachments[] =  $file_path . 'Reklamacni_rad.pdf'; 
        $attachments[] =  $file_path . 'Reklamacni_protokol.pdf'; 
        $attachments[] =  $file_path . 'Formular_pro_odstoupeni_od_smlouvy.pdf'; 

    }

    return $attachments;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...