2014-10-17 2 views
1

기본적으로 woocommerce에서는 완료된 주문을 보낼 사람을 여러 전자 메일 주소 (쉼표로 구분)로 입력 할 수 있습니다 (WooCommerce -> 설정 -> 이메일 -> 새로운 주문. 그러나 제품을 주문한 고객의 우편 번호를 기반으로 이러한 수신자 중 한 명에게만 보내는 방법이 필요합니다. 또는 woocommerce의 이것을 처리하는 방법을 완전히 덮어 씁니다.Woocommerce - 우편 번호를 기반으로 특정 주소로 전자 메일 보내기

올바른 수신자에게 보내려면 어떻게해야합니까? 기본적으로 여기에 정의 된 훅이 있습니까, 아니면 이와 같은 플러그인이 있습니까? 아니면 핵심 WooCommerce 파일을 편집해야합니까? 핵심 파일을 편집해야하는 경우 누군가 편집 할 필요가있는 파일을 올바른 방향으로 가리킬 수 있습니까?

답변

1

각 이메일에는 해당 이메일의 수신자를 조정할 수있는 필터가 있습니다. 필터 이름은 본질적으로 woocommerce_email_recipient_{$email_id}입니다.

따라서 다음은 "new_order"이메일의 "받는 사람"주소를 필터링합니다.

add_filter ('new_order', 'so_26429482_add_recipient', 20, 2);

function so_26429482_add_recipient($email, $order) { 
    $additional_email = "[email protected]"; 
    if($order->shipping_postcode == "90210"){ 
     $email = explode(',', $email); 
     array_push($email, $additional_email); 
    } 
    return $email; 
} 

나는 조건부 로직에 100 % 확실하지 않다,하지만 난 그 운송 우편 번호를 확인하고 이후에 추가 이메일 주소로 보내한다고 생각합니다.

+0

어디에서 이메일 주소를 가져 옵니까? 그 숫자를 사용하는 것인가? –

+0

모든 이메일 클래스는 'includes/emails' 폴더에있는 ID를 가지고 있습니다. – helgatheviking

+0

@helgatheviking, 훌륭한 답변! 여기에 게시 한 질문에 대한 제안을 받으실 수 있기를 바랍니다. http://stackoverflow.com/questions/41216160/woocommerce-add-recipient-to-order-confirmation-email. 새 수신자를 추가 할 수 있습니다. 고객이 선택한 옵션에 따른 관리자 확인 전자 메일. 제공 할 수있는 도움에 감사드립니다. – revive

관련 문제