programing

Woocommerce - 결제 종류에 따른 맞춤형 이메일 발송 방법

lovejava 2023. 9. 16. 08:21

Woocommerce - 결제 종류에 따른 맞춤형 이메일 발송 방법

여기 문제가 있습니다.나의 우커머스 웹사이트에는 3가지 결제 옵션이 있습니다.

  • 결제조회
  • 웨스턴 유니언
  • 배달 시 현금 지불

만약 구매자가 "체크 결제"로 체크아웃을 한다면, 저는 그에게 체크 결제를 하기 위한 단계를 설명한 자동화된 이메일을 보내고 싶습니다.만약 그가 "웨스턴 유니온"으로 체크아웃을 한다면 저는 자동으로 그에게 저의 웨스턴 유니온 정보를 이메일로 보내고 싶습니다.자동화된 다른 이메일로 Cash On Delivery를 전송해야 합니다.

보통 우커머스에서는 완료된 모든 주문에 대해 고객에게 한 번의 이메일을 보내는데, 제 경우에는 결제 옵션에 따라 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;

결제 수단이 무엇인지 확인하고 싶다면 코드 라인은 어떻게 되나요?그에게 커스텀 메일을 보낼 수 있도록 결제 방법이 "체크 페이먼트"인지 확인하고 싶습니다.

좋은 생각이 있으면 저에게 알려주시기 바랍니다.

thank_you hook을 이용하면 본 사용자 정의 기능으로 결제수단별로 다른 맞춤형 이메일을 보내실 수 있습니다.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 <name@email.com>' . "\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 );
    }
}

이 코드는 기능을 합니다.활성 하위 테마(또는 테마)의 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 );

이 코드는 작동합니다.활성 하위 테마(또는 테마)의 php 파일입니다.사용 후 제거합니다.

1) 처음에는 wordpress.stackexchange.com 에서 WP 질문을 해야 합니다.

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 단어 검색) 그리고 원하는 후크를 사용자 정의합니다.

언급URL : https://stackoverflow.com/questions/39889483/woocommerce-how-to-send-custom-emails-based-on-payment-type