获取 WooCommerce 订单中的商品/产品属性

Ima*_*ang 3 wordpress woocommerce

我正在尝试获取 WooCoomerce 订单中的商品或产品属性。

我怎么才能得到它?

$order  = new WC_Order( $order_id );
$items  = $order->get_items();

foreach ( $items as $item ) {
        $pid    = $item['product_id'];
        $patt   = $pid->get_attribute( 'pa_myattrname' );
        echo $patt;
}
Run Code Online (Sandbox Code Playgroud)

后来,我想在属性上插入自动回复链接,以便用户完成付款后,他们会自动订阅我的自动回复。

谢谢

pty*_*kju 6

我知道这是一个老问题,但这个答案可能会帮助那些正在寻找更好选择的人。
有更简单的方法可以从订单中获取产品属性。您只需进入产品(项目),然后加载meta data

// at first get order object
$order = wc_get_order($orderId);

// iterate through order items/products
foreach ($order->get_items() as $item) {
  // load meta data - product attributes
  foreach ($item->get_meta_data() as $metaData) {
    $attribute = $metaData->get_data();

    // attribute value
    $value = $attribute['value'];

    // attribute slug
    $slug = $attribute['key'];
  }
}
Run Code Online (Sandbox Code Playgroud)