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

时间:2019-03-15 12:27:40

标签: php wordpress woocommerce protected orders

在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

2 个答案:

答案 0 :(得分:1)

我所做的就是放这个wc_display_item_meta( $item );

就是这样,它会自动提取信息! 管理员可以将“编辑顺序”屏幕中的内容更改为任何内容,然后它们就会出现 (感谢@LoicTheAztec将我指向正确的方向

enter image description here

答案 1 :(得分: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>';
}

我希望现在可以使用