Woocommerce – php для получения информации о заказе

Я пытаюсь получить данные, связанные с заказом на плагин woocommerce (wordpress). В настоящее время я написал свой собственный плагин, содержащий код:

<?php global $woocommerce; $order = new WC_Order($order_id); $order_shipping_total = $order->get_shipping(); echo $order_shipping_total; ?> 

Это просто, чтобы проверить это, я не считаю, что это работает. НО мне действительно нужно получить список заказов с определенным статусом заказа, а затем иметь доступ к полям (например, имя) для каждого заказа в этом списке. Как мне это сделать? Кроме того, какие файлы я должен включить, чтобы сделать эту работу? Файл class-wc-order ()?

Related of "Woocommerce – php для получения информации о заказе"

Недавно я работал для экспорта данных заказов в XML.

 $args = array( 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_key' => '_customer_user', 'posts_per_page' => '-1' ); $my_query = new WP_Query($args); $customer_orders = $my_query->posts; foreach ($customer_orders as $customer_order) { $order = new WC_Order(); $order->populate($customer_order); $orderdata = (array) $order; // $orderdata Array will have Information. for eg Shippin firstname, Lastname, Address ... and MUCH more.... Just enjoy! } 

Чтобы отфильтровать заказы для конкретного клиента, используйте дополнительный аргумент meta_value :

 $user_id = get_current_user_id(); $args = array( 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_key' => '_customer_user', 'meta_value' => $user_id, 'numberposts' => -1, // -1 for all orders 'posts_per_page' => '-1' ); $my_query = new WP_Query($args); 

Также альтернативный способ загрузки заказов для конкретного клиента:

 $orders = get_posts( apply_filters( 'woocommerce_my_account_my_orders_query', array( 'numberposts' => 1, // -1 for all orders 'meta_key' => '_customer_user', 'meta_value' => $user_id, 'post_type' => 'shop_order', 'post_status' => 'publish' ) ) ); 

См. Также здесь .