복붙노트

[WORDPRESS] Woocommerce 이메일 알림 수신자 조건부 사용자 정의 필드를 기준으로

WORDPRESS

Woocommerce 이메일 알림 수신자 조건부 사용자 정의 필드를 기준으로

해결법


  1. 1.귀하의 문제는 정의되지 않은 $의에 OrderID에서 온다. 대신이 시도 :

    귀하의 문제는 정의되지 않은 $의에 OrderID에서 온다. 대신이 시도 :

    add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
    function new_order_conditional_email_recipient( $recipient, $order ) {
        if ( ! is_a( $order, 'WC_Order' ) ) return $recipient; // (Optional)
    
        // Get the order ID (retro compatible)
        $order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;
    
        // Get the custom field value (with the right $order_id)
        $custom_field = get_post_meta( $order_id, 'custom_field', true );
    
        if ($custom_field == "Value 1") 
            $recipient .= ', email1@gmail.com'; 
        elseif ($custom_field == "Value 2") 
            $recipient .= ', email2@gmail.com';
        elseif ($custom_field == "Value 3") 
            $recipient .= ', email3@gmail.com';
    
        return $recipient;
    }
    

    코드는 플러그인 파일도 function.php의 활성 자식 테마 (또는 테마)의 파일이나 간다.

    코드는 테스트 WooCommerce의 2.6.x와 3+에서 작동된다.

  2. from https://stackoverflow.com/questions/45124313/woocommerce-email-notification-recipient-conditionally-based-on-custom-field by cc-by-sa and MIT license