如何获取产品woocommerce的元数据? 我有我的产品现场定制,我需要获取这些数据。
{"ID":151,
"ORDER_ID":251,
"NAME":"car",
"PRODUCT_ID":87,
"VARIATION_ID":0,
"QUANTITY":1,
"TAX_CLASS":"",
"SUBTOTAL":"3",
"SUBTOTAL_TAX":"0",
"TOTAL":"3",
"TOTAL_TAX":"0",
"TAXES":{"TOTAL":[],
"SUBTOTAL":[]},
"META_DATA":[{"ID":1433,
"KEY":"my_car",
"VALUE":"red"}]}
但总是结果相同,我无法访问字段meta_data
。我可以访问ID
和name
字段。
我使用了get_data()
和get_item()
,但是当我尝试使用get_data()
访问字段meta_data
时,它会给我这个错误:
UNCAUGHT ERROR: CANNOT USE OBJECT OF TYPE WC_DATETIME AS ARRAY IN
使用get_item()
时,值meta_data
为空,因为受到保护。
我如何获得这些价值?
答案 0 :(得分:8)
尝试以下方法:
// Get the $order object from an ID (if needed only)
$order = wc_get_order( $order_id);
// Loop through order line items
foreach( $order->get_items() as $item ){
// get order item data (in an unprotected array)
$item_data = $item->get_data();
// get order item meta data (in an unprotected array)
$item_meta_data = $item->get_meta_data();
// get only additional meta data (formatted in an unprotected array)
$formatted_meta_data = $item->get_formatted_meta_data();
// Display the raw outputs (for testing)
echo '<pre>'; print_r($item_meta_data); echo '</pre>';
echo '<pre>'; print_r($formatted_meta_data); echo '</pre>';
}
相关:
答案 1 :(得分:0)
input[type='radio']{
-webkit-appearance:none;
appearance:none;
position:absolute;
display:content;
left:0px;
top:0px;
width:auto;
max-width: 96px;
border-width: 0px;
border-color: rebeccapurple;
border-style: dashed;
}
.input[type='radio']:checked{
filter:invert(100%);
}