在Woocommerce中访问和显示订单商品元数据

问题描述 投票:-1回答:2

在Woocommerce中,我试图显示订单商品对象的结果并访问它:

$product_meta = $item->get_meta_data();
print_r ($product_meta);

这就是我想要提取的内容:

enter image description here

编辑:这是我使用$item->get_formatted_meta_data( '', true )获得的输出:

enter image description here

php wordpress woocommerce protected orders
2个回答
0
投票

要获取所有订单商品元数据,您将使用WC_Order_Item get_formatted_meta_data() method和特定参数,这样:

// Accessible non protected Order item meta data
$item_meta_data = $item->get_formatted_meta_data( '', true );

// Formatted raw Output
echo '<pre>'; print_r($item_meta_data); echo '</pre>';

要访问某些订单商品属性,您可以使用any WC_Order_Item_Product method,如:

$item->get_product(); // Get the WC_Product object

$item->get_product_id(); // Get the Product ID

$item->get_variation_id(); // Get the Variation ID

$item->get_name(); // Get the Product name

$item->get_quantity(); // Get the item quantity 

// and so on …

然后,如果您需要访问特定的“自定义”订单商品数据值,您将使用WC_Data get_meta() method

$custom_value = $item->get_meta("_custom_key");

见:Get Order items and WC_Order_Item_Product in Woocommerce 3


更新(显示所需的自定义订单项元数据)

您可以通过以下方式访问和显示所需的数据:

if( $lessons = $item->get_meta('lessons') ) {
    echo '<p>Lessons: '.$lessons.'</p>';
}

if( $tour_guide = $item->get_meta('tour guide') ) {
    echo '<p>Tour Guide: '.$tour_guide.'</p>';
}

我希望现在有效。


1
投票

我所做的只是把这个wc_display_item_meta( $item );

就是这样,它自动提取信息!!!!!!!管理员可以将编辑顺序屏幕中的内容更改为任何内容并显示(感谢@LoicTheAztec指向正确的方向)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.