读取产品的属性内容。 我在 WooCommerce 中正在处理的订单的 JSON 中包含正在处理的产品的属性值,我已经设法获取自定义字段的内容,请参阅此链接,但我还没有但仍然能够获得属性的内容,甚至可以来自同一产品。
function example_metadata( $metadata, $order, $post ) {
foreach ( $order->get_items() as $item_id => $item ) {
$metadata['atrib'] =$item->get_product_id()->get_attribute( 'split' );
$product = wc_get_product();
$metadata['atrib1'] = $item_id->get_attribute( 'split' );
}
return $metadata;
}
由于
get_attribute()
是一个 WC_Product
方法,它必须与 WC_Product
对象一起使用…
尝试以下方法:
function example_metadata( $metadata, $order, $post ) {
foreach ( $order->get_items() as $item ) {
$product = $item->get_product();
$value = $product->get_attribute('split');
if ( $item->get_variation_id() > 0 && empty($value) ) {
$product = wc_get_product($item->get_product_id());
$value = $product->get_attribute('split');
}
$metadata['atrib'] = $value;
}
return $metadata;
}
它可以工作。
如果不起作用,请尝试使用产品属性标签名称而不是slug,也许就像“Split”而不是“split”。