你的主要问题是
post_status
此处:对于WooCommerce订单,“已发布”post_状态不存在。WooCommerce订单的可用状态为:
-
'
wc-cancelled
-
'
wc-completed
'
-
'
wc-custom-status
'
-
wc-on-hold
'
-
wc-pending
-
'
wc-processing
-
'
wc-refunded
'
而且
'post_parent'
0
价值
由于WooCommerce 3+Order items现在是WC\u Order\u Item\u Product对象(您需要使用可用的方法访问属性值)。
get_user_by()
.
因此,您的代码将是:
$args = array(
'post_status' => array( 'wc-completed' ), // <=== HERE
'post_type' => 'shop_order',
'posts_per_page' => 200,
'paged' => 1,
'orderby' => 'modified',
'author' => $seller_id
);
$loop = new WP_Query($args);
while ($loop->have_posts()) {
$loop->the_post();
$order_obj = wc_get_order($loop->post->ID);
foreach ($order_obj->get_items() as $item_id => $item_obj)
{
$item_data = $item_obj->get_data(); // Accessing WC_Order_Item_Product object protected data
$product_id = $item_data['product_id']; // Product ID
$product_sku = get_post_meta( $product_id, '_sku', true ); // SKU
// Just for Testing output
echo "Product ID is $product_id - Sku is $product_sku<br>";
}
}
How to get WooCommerce order details