如何在订单元中获取产品名称

时间:2020-02-20 18:37:43

标签: php woocommerce

当sku为空时,我尝试使用以下方法将产品名称添加到sku。到目前为止,这是可行的,但最后一件事是,如何在此代码中称呼产品名称?

add_action( 'woocommerce_add_order_item_meta', 'so_28193771', 10, 3 );
function so_28193771( $item_id, $values, $cart_item_key ) {

    $item_sku  .=  get_post_meta( $values[ 'product_id' ], '_sku', true );

    if ( empty( $item_sku ) ) {

        wc_add_order_item_meta( $item_id, 'sku', $item_sku , false );
    }
}

1 个答案:

答案 0 :(得分:0)

在函数中使用以下代码。

WooCommerce 3.0 +

从Woocommerce中的订单ID获取产品ID

$order = wc_get_order( $order_id );
$items = $order->get_items();

然后,如果您遍历所有项目,则可以获得所有相关数据:

foreach ( $items as $item ) {
    $product_name = $item->get_name();
    $product_id = $item->get_product_id();
    $product_variation_id = $item->get_variation_id();
}

WooCommerce 3.0之前的版本

$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
    $product_name = $item['name'];
    $product_id = $item['product_id'];
    $product_variation_id = $item['variation_id'];
}