[WORDPRESS] WooCommerce 구매자가 프론트 엔드에 이메일을 보냅니다
WORDPRESSWooCommerce 구매자가 프론트 엔드에 이메일을 보냅니다
해결법
-
1.좋아, 그래서 귀하의 질문을 읽고 $ POST-> ID가 포함 된 주문을 표시하려는 제품의 ID는 다음과 같습니다.
좋아, 그래서 귀하의 질문을 읽고 $ POST-> ID가 포함 된 주문을 표시하려는 제품의 ID는 다음과 같습니다.
<?php $products = array(); foreach (get_posts('post_type=shop_order&numberposts=-1&post_status=publish') as $order) { $order = new WC_Order($order->ID); foreach($order->get_items('line_item') as $item) { $product_id = (!empty($item['variation_id'])) ? $item['variation_id'] : $item['product_id']; $products[] = $product_id; } if (in_array($post->ID,$products)) { echo 'Status: '.$order->order_status; echo '<br>Date : '.$order->order_date; echo '<br>Email : '.$order->billing_email; } }
-
2.내가 당신의 질문을 잘 이해했다면, 어쩌면 당신은 이것을 시도 할 수 있습니다. 그러나 $ POST가 주문을 참조하고 있는지 확인해야합니다.
내가 당신의 질문을 잘 이해했다면, 어쩌면 당신은 이것을 시도 할 수 있습니다. 그러나 $ POST가 주문을 참조하고 있는지 확인해야합니다.
$p = $post->ID; $args = array( 'p' => $p, 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_key' => '_customer_user', 'posts_per_page' => '-1' ); $my_query = new WP_Query($args); if ( $my_query->have_posts() ) { $my_query->next_post(); $customer_order = $my_query->post; $order = new WC_Order(); $order->populate($customer_order); $orderdata = (array) $order; $fields = array_values($orderdata); //print_r($fields); echo 'Status: '.$fields[1]; echo '<br>Date : '.$fields[2]; echo '<br>Email : '.$fields[16]; }
http://codex.wordpress.org/class_reference/wp_query#post_.26_page_parameters http://codex.word/wp_kage_parameters의 여기서 WP_QUERY () 함수의 DOC를 읽을 수 있습니다.
from https://stackoverflow.com/questions/20787587/woocommerce-buyers-emails-on-frontend by cc-by-sa and MIT license
'WORDPRESS' 카테고리의 다른 글
[WORDPRESS] 댓글에서 사용자 역할을 표시하는 방법에 대한 WordPress (0) | 2020.11.20 |
---|---|
[WORDPRESS] MPDF에서 HTTPS가있는 이미지 (0) | 2020.11.20 |
[WORDPRESS] WordPress에서 상위 범주 목록 (링크 포함) 목록을 표시하는 방법 (0) | 2020.11.20 |
[WORDPRESS] 상투기 제품 유형에 대해 완전히 운송을 해제하는 방법은 무엇입니까? (0) | 2020.11.20 |
[WORDPRESS] Apache HttpD에서 선택적 프록시 포트 전달 (0) | 2020.11.20 |