Woocommerce — Как отправлять собственные электронные письма в зависимости от типа оплаты

Здесь проблема. Мой веб-сайт woocommerce имеет 3 различных варианта оплаты —

  • Проверить оплату
  • западный союз
  • Оплата при доставке

Если мой покупатель оформляет заказ с помощью «Чекового платежа», я хочу отправить ему автоматическое электронное письмо с указанием шагов для совершения чекового платежа.
Если он оформляет заказ через «Western Union», я хочу отправить ему по электронной почте информацию о моем Western Union в виде автоматического электронного письма.
Для доставки наложенным платежом необходимо отправить еще одно автоматическое письмо.

Обычно в Woocommerce у вас есть одно электронное письмо, отправленное клиенту для всех выполненных заказов, в моем случае мне нужно 3 разных электронных письма в зависимости от способа оплаты.

Поэтому я начал использовать этот учебник для создания собственного электронного письма — https://www.skyverge.com/blog/how-to-add-a-custom-woocommerce-email/

Приведенный выше учебник используется для создания пользовательских писем для ускоренной доставки. Это строка кода, используемая для этого из учебника —

// bail if shipping method is not expedited
if ( ! in_array( $this->object->get_shipping_method(), array( 'Three Day Shipping', 'Next Day Shipping' ) ) )
return;

Какой будет строка кода, если я хочу проверить, какой способ оплаты?
Я хочу проверить, является ли способ оплаты «Проверить оплату», чтобы я мог отправить ему специальное электронное письмо.

Пожалуйста, дайте мне знать, если у вас есть идеи.

6

Решение

С помощью этой пользовательской функции вы можете отправлять разные сообщения электронной почты для каждого способа оплаты с помощью хука thank_you. Есть много опций, которые вы можете установить, для этого обратитесь к ссылка на код функции wp_mail ().

Вот код:

add_action( 'woocommerce_thankyou', 'wc_cheque_payment_method_email_notification', 10, 1 );
function wc_cheque_payment_method_email_notification( $order_id ) {
if ( ! $order_id ) return;

$order = wc_get_order( $order_id );

$user_complete_name_and_email = $order->billing_first_name . ' ' . $order->billing_last_name . ' <' . $order->billing_email . '>';
$to = $user_complete_name_and_email;

// ==> Complete here with the Shop name and email <==
$headers = 'From: Shop Name <[email protected]>' . "\r\n";

// Sending a custom email when 'cheque' is the payment method.
if ( get_post_meta($order->id, '_payment_method', true) == 'cod' ) {
$subject = 'your subject';
$message = 'your message goes in here';
}
// Sending a custom email when 'Cash on delivery' is the payment method.
elseif ( get_post_meta($order->id, '_payment_method', true) == 'cheque' ) {
$subject = 'your subject';
$message = 'your message goes in here';
}
// Sending a custom email when 'Western Union' is the payment method.
else {
$subject = 'your subject';
$message = 'your message goes in here';
}
if( $subject & $message) {
wp_mail($to, $subject, $message, $headers );
}
}

Этот код находится в файле functions.php вашей активной дочерней темы (или темы) или также в любом файле плагина.

Это проверено, и это работает.


— Обновить — Связанные с вашими комментариями.

Получение доступных способов оплаты слизней (временно, просто чтобы получить все слизняки). Это будет отображать ваши доступные способы оплаты слагов на странице магазина или на страницах продукта тоже. После использования просто удалите его.

Вот этот функциональный код:

function the_available_payment_gateways(){
foreach(WC()->payment_gateways->get_available_payment_gateways() as $payment_gateway)
echo '<div style="border:solid 1px #999">Method Title: "'.$payment_gateway->title .'" / Method slug: "'.$payment_gateway->id .'"</div>';
}
add_action( 'woocommerce_before_main_content', 'the_available_payment_gateways', 1 );

Этот код помещается в файл function.php вашей активной дочерней темы (или темы). Удалить его после использования.

6

Другие решения

1) Сначала вы должны задать вопрос WP на wordpress.stackexchange.com

2) Как правило, более простой способ — отправить электронное письмо, в котором перечислены ВСЕ параметры (разделенные абзацами или даже ссылками), например:

Привет….
…..
…..
===== Способы оплаты =======
1) Western union — следуйте этой инструкции: http://example.com/how-to-1
2) Оплачено чеком — следуйте
эта инструкция: http://example.com/how-to-2
3) Оплата наложенным платежом —
следуйте этой инструкции: http://example.com/how-to-3
…..
…..

3) Если вы знаете немного больше, то здесь перечислены все крючки — https://docs.woocommerce.com/wc-apidocs/hook-docs.html (найдите слово EMAIL), а затем настройте нужный хук.

2

По вопросам рекламы [email protected]