gpt4 book ai didi

php - 从 WooCommerce 中的订单项获取变体属性

转载 作者:行者123 更新时间:2023-12-04 07:55:00 24 4
gpt4 key购买 nike

我尝试获取购物车中可变产品属性名称的名称,但出了点问题。
我不明白当对象受到保护时如何获得变化值

foreach ( $order->get_items() as $item_id => $item ) {

$product_id = $item->get_product_id();
$product = $item->get_product();

$accomodation = $product['variation']['attribute_pa_hebergement']; // does not work

}
这是 $product 中对象的一部分
WC_Product_Variation Object
(
[post_type:protected] => product_variation
[parent_data:protected] => Array
(
[title] => test
[status] => publish
[sku] =>

[tax_class] =>
[shipping_class_id] => 0

)

[object_type:protected] => product
[cache_group:protected] => products
[data:protected] => Array
(
[name] => test
[slug] => test-14

...
[attributes] => Array
(
[pa_hebergement] => chambre-double-140e
[pa_parking] => 1-place-35e
[pa_tarifs] => tarif-jeune
)

[default_attributes] => Array
(
)

最佳答案

而是尝试使用 WC_Product方法 get_attributes()喜欢:

// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
// Target product variations
if ( $item->get_variation_id() ) {
$product = $item->get_product(); // Get the product Object

// Loop through product attributes
foreach ( $product->get_attributes() as $attribute => $value ) {
// Get attribute label name
$label = wc_attribute_label($attribute);

// Get attribute name value
$name = term_exists( $value, $attribute ) ? get_term_by( 'slug', $value, $attribute )->name : $value;

// Display
echo '<p><strong>' . $label . '</strong>: ' . $name . '</p>';
}
}
}
它应该工作。

关于php - 从 WooCommerce 中的订单项获取变体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66746825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com