1
私は2つの特定のカスタム商品属性の値を取得しようとしていますが、値を返すことはできません。WooCommerce get_attribute returns null
以下は、この問題とは関係がないため、私のコードのトリムダウンバージョンです。
私の製品では、carrier
の名前とAA12345
という名前のカスタム属性が設定されています。また、BB67890
という値を持つ属性template
を設定しました。ここで間違っていることは本当に分かりません。
foreach($order-> get_items() as $item_key => $item_values):
$item_id = $item_values->get_id();
$item_name = $item_values->get_name();
$item_type = $item_values->get_type();
$product_id = $item_values->get_product_id(); // the Product id
$wc_product = $item_values->get_product(); // the WC_Product object
## Access Order Items data properties (in an array of values) ##
$item_data = $item_values->get_data();
$product_name = $item_data['name'];
$product_id = $item_data['product_id'];
$variation_id = $item_data['variation_id'];
$quantity = $item_data['quantity'];
$tax_class = $item_data['tax_class'];
$line_subtotal = $item_data['subtotal'];
$line_subtotal_tax = $item_data['subtotal_tax'];
$line_total = $item_data['total'];
$line_total_tax = $item_data['total_tax'];
$order_id = $item_data['order_id'];
if ($product_id == 37) {
} else if ($product_id == 50) {
// Get Poduct attributes
$p = wc_get_product($product_id);
$patt_carrier = $p->get_attribute('carrier');
$patt_template = $p->get_attribute('template');
$product_type = "PICKANDPACK";
$postData['bundles'][] = [
'type' => $product_type,
'items' => [
'bom' => [
[
'type' => 'CARD',
'stockId' => $item_data['sku'],
[
'type' => 'CARRIER',
'quantity' => '1',
'stockId' => $patt_carrier,
'metadata' => [
'template' => $patt_template,
]
],
],
],
];
}
endforeach;
この@LoicTheAztecに答えるいただきありがとうございます。これはすごく助けになった!私はカスタムフィールドのルートを考慮しましたが、多くのサイトで使用されるようにプラグインに余分な依存関係を追加したくありませんでした。 –