반응형
확인 이메일에 고객 이름 가져오기
저는 Woocommerce와 협력하고 있으며, 주문 확인 메일을 보내려고 합니다.
메일에는 다음과 같이 기재되어 있습니다.
"안녕하세요 [고객님 이름]"
Woocommerce가 고객 이름을 인쇄하도록 하려면 어떻게 해야 합니까?
오더 오브젝트가 필요하기 때문에 사용하는 후크에 따라 오브젝트가 있어야 합니다.다음과 같은 방법을 사용해 보십시오.
add_action('woocommerce_order_status_completed','my_woo_email');
function my_woo_email($order_id){
$order = new WC_Order( $order_id );
$to = $order->billing_email;
$subject = 'this is my subject';
$message = 'Hi '.$order->billing_first_name.' '.$order->billing_email;$order->billing_last_name.', thanks for the order!';
woocommerce_mail( $to, $subject, $message, $headers = "Content-Type: text/htmlrn", $attachments = "" )
}
테스트되지 않았지만 시작할 수 있습니다.
WooCommerce 3.x 현재$order
이전 답변에서 제안한 대로 개체의 속성에 직접 액세스해서는 안 됩니다.적절한 방법은 다음과 같습니다.
echo 'Hi ' . $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();
여기 WooCommerce 고객 정보를 여러 개 가져온 첫 번째 예가 있습니다.WP_Query
루프:
$args = array(
'post_status' => 'any',
'post_type' => 'shop_order',
'posts_per_page' => -1,
'order' => 'ASC'
);
$query = new WP_Query( $args );
while ( $query->have_posts() ) {
$query->the_post();
$order = new WC_Order( $query->post->ID );
echo $order->billing_address_1;
echo $order->billing_address_2;
echo $order->billing_city;
echo $order->billing_company;
echo $order->billing_country;
echo $order->billing_email;
echo $order->billing_first_name;
echo $order->billing_last_name;
echo $order->billing_phone;
echo $order->billing_postcode;
echo $order->billing_state;
echo $order->cart_discount;
echo $order->cart_discount_tax;
echo $order->customer_ip_address;
echo $order->customer_user;
echo $order->customer_user_agent;
echo $order->order_currency;
echo $order->order_discount;
echo $order->order_key;
echo $order->order_shipping;
echo $order->order_shipping_tax;
echo $order->order_tax;
echo $order->order_total;
echo $order->payment_method;
echo $order->payment_method_title;
echo $order->shipping_address_1;
echo $order->shipping_address_2;
echo $order->shipping_city;
echo $order->shipping_company;
echo $order->shipping_country;
echo $order->shipping_first_name;
echo $order->shipping_last_name;
echo $order->shipping_method_title;
echo $order->shipping_postcode;
echo $order->shipping_state;
}
wp_reset_postdata();
이것이 다른 사람에게 도움이 되기를 바랍니다.
고객 데이터를 얻을 수 있습니다.$order
물체, 이런 거.
$customer = get_userdata( $order->get_customer_id() );
$name = $customer->display_name;
언급URL : https://stackoverflow.com/questions/17819054/get-customers-name-in-confirmation-email
반응형
'programing' 카테고리의 다른 글
동적 매개 변수를 사용하여 ui-module 확인 (0) | 2023.03.13 |
---|---|
모든 테스트가 실행된 후 농담 정리 (0) | 2023.03.13 |
eslint를 typescript와 함께 사용 - 모듈 경로를 확인할 수 없습니다. (0) | 2023.03.13 |
플럭스 스토어 또는 액션(또는 둘 다)이 외부 서비스에 접촉해야 합니까? (0) | 2023.03.13 |
표준 웹 기술로 앵귤러 대체 (0) | 2023.03.13 |