我正在为Woocommerce制作一个插件。
现在,我有点卡在某事上,这就是如何获得所有订单。
到目前为止,这是我的代码:
global $woocommerce;
global $post;
$order = new WC_Order(102249);
$_order = $order->get_items();
foreach($_order as $order_product_detail){
echo "<b>Product ID:</b> ".$order_product_detail['product_id']."<br>";
echo "<b>Product Name:</b> ".$order_product_detail['name']."<br><br>";
}
这很有效。但我需要所有订单。现在我只得到订单号。我试过用$order = new WC_Order($post->ID);
但这给了我一个通知:Notice: Trying to get property of non-object
我认为这必须这样做,WordPress还没有加载global $post
那么我怎样才能获得所有订单。我怎么能等待WordPress完全加载?
我看过WordPress和Woocommerce的手抄本,不幸的是,这对我没有帮助。
答案 0 :(得分:1)
function wc_get_customer_orders() {
// Get all customer orders
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'post_type' => wc_get_order_types(),
'post_status' => array_keys( wc_get_order_statuses() ),
) );
$customer = wp_get_current_user();
print_r($customer_orders);
}
add_action( 'woocommerce_before_my_account', 'wc_get_customer_orders' );
试试这个