从wordpress外部的订单ID中获取产品ID和变体ID

时间:2018-06-12 03:01:41

标签: php mysql wordpress woocommerce

我正在尝试从订单ID

中查询WooCommerce 产品ID /变体ID 的PHP / MYSQL
  • 如果订单中的产品很简单,请获取产品ID

  • 如果订单中的产品是可变的,则获取变体ID

  • 如果两者(简单和可变)同时获得(产品ID和变体ID)

注意:我编码的脚本独立于WordPress。

2 个答案:

答案 0 :(得分:0)

使用WooCommerce API的各个方面,可以使用以下某些版本来完成此操作。

$order_id = XXX;

$order = wc_get_order( $order_id ); //returns WC_Order if valid order 
$items = $order->get_items();   //returns an array of WC_Order_item or a child class (i.e. WC_Order_Item_Product)

foreach( $items as $item ) {

    //returns the type (i.e. variable or simple)
    $type = $item->get_type();

    //the product id, always, no matter what type of product
    $product_id = $item->get_product_id();

    //a default
    $variation_id = false;

    //check if this is a variation using is_type
    if( $item->is_type('variable') ) {
        $variation_id = $item->get_variation_id();
    }

    //more code
}

请注意文档,

wc_get_order();

WC_Order();

WC_Order_Item();

WC_Order_Item_Product();

答案 1 :(得分:0)

正如您在“我编码的脚本独立于WordPress”中所提到的那样 然后会有一个您可以使用的查询

从产品ID获取变体ID列表 SELECT ID FROM wp_posts WHERE post_parent =“PRODUCT_ID”和post_type LIKE'product_variation'