Различные заголовки писем, основанные на способах доставки в Woocommerce - PullRequest
0 голосов
/ 21 ноября 2018

Итак, я хочу отправить то же электронное письмо с несколько другим заголовком в WooCommerce.Он использует переменную аргумента $email_heading для хранения значения текущего заголовка электронной почты, поэтому я полагаю, что простая замена подойдет.Это не так.Я мог бы полностью пропустить отметку, здесь любая помощь очень ценится.

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

add_filter( "woocommerce_email_heading_customer_completed_order", 'HDM_woocommerce_email_header', 10, 2 );
function HDM_woocommerce_email_header( $email_heading, $email ) {
  if ('customer_completed_order' == $email->id && $order->has_shipping_method('local_pickup') ){
      $order_id = $order->get_id();
      $email_heading = '<h1>Your Order Is Ready For Pickup</h1>';
    }
      return $email_heading;
    };

1 Ответ

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

В вашем коде есть некоторые ошибки, такие как $email, что на самом деле $order.Также вы уже нацелены на customer_completed_order в этом составном хуке, поэтому вам не нужно это в вашем IF утверждении ...

Так что попробуйте вместо этого:

add_filter( "woocommerce_email_heading_customer_completed_order", 'custom_email_heading', 10, 2 );
function custom_email_heading( $email_heading, $order ) {
    if ( $order->has_shipping_method('local_pickup') ){
        $email_heading = '<h1>Your Order Is Ready For Pickup</h1>';
    }
    return $email_heading;
}

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

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