Добавление условного вложения в электронное письмо с новым заказом на основе указанных c продуктов в Woocommerce - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу прикрепить пользовательские условные .ai-файлы к электронным письмам администраторов на основе указанных c продуктов. Допустим, продукту A нужен файл product-A.ai, а клиент покупает продукт A, а затем я хочу прикрепить этот файл к новому электронному письму заказа. Но когда клиент покупает продукт B, я хочу прикрепить product-B.ai к новому электронному заказу. Все вложения находятся в моей медиа-библиотеке, и у меня также есть переменные продукты, поэтому я также хочу найти указанный c идентификатор продукта в массиве.

Я уже пробовал код:

add_filter( 'woocommerce_email_attachments', 'add_woocommerce_attachments_for_certain_product', 10, 3 );

function add_woocommerce_attachments_for_certain_product ( $attachments, $email_id, $email_order ){
  $product_id = array( 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706 );
  $attachment_id = 9346;

  if( $email_id === 'new_order' ){
    $order = wc_get_order( $email_order );
    $items = $order->get_items();

    foreach ( $items as $item ) {
      if ( in_array( $item->get_product_id(), $product_id ) ) {
        $attachments[] = get_attached_file( $attachment_id );                
      }
    }         

  }
  return $attachments;
}

Но выше используется для 1 прикрепления c для нескольких идентификаторов продукта. И я хочу скопировать эту часть:

$product_id = array( 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706 );
  $attachment_id = 9346;

И вставить ее в функцию поиска с разными идентификаторами товара с другим идентификатором вложения.

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