Php 获取WooCommerce 3中未受保护的数组中的所有订单项元数据
是否有其他方法可以为不返回受保护数组的自定义属性返回元值Php 获取WooCommerce 3中未受保护的数组中的所有订单项元数据,php,wordpress,object,woocommerce,protected,Php,Wordpress,Object,Woocommerce,Protected,是否有其他方法可以为不返回受保护数组的自定义属性返回元值 foreach ($order->get_items() as $item_key => $item_values) { $item_id = $item_values->get_id(); $item_meta_data = $item_values->get_meta_data(); var_dump($item_meta_data); } 它输出: object(WC_Met
foreach ($order->get_items() as $item_key => $item_values) {
$item_id = $item_values->get_id();
$item_meta_data = $item_values->get_meta_data();
var_dump($item_meta_data);
}
它输出:
object(WC_Meta_Data)#3433 (2) {
["current_data":protected]=>
array(3) {
["id"]=>
int(4690)
["key"]=>
string(14) "pa_second-half"
["value"]=>
string(11) "nutty-butty"
}
我也试过了
返回NULL。已更新 若要在不受保护的数组中获取订单项元数据,可以改用方法 该方法有2个可选参数:
隐藏前缀元键(默认值为$hideprefix
)“\uu”
包括所有元数据,而不仅仅是自定义元数据(默认值为$include\u all
)false
foreach ( $order->get_items() as $item_id => $item ) {
// Get all meta data in an unprotected array of objects
$meta_data = $item->get_formatted_meta_data('_', true);
// Raw output (testing)
echo '<pre>'; var_dump($meta_data); echo '</pre>';
}
现在,您可以使用order items foreach循环中的方法直接从元键中获取值
所以对于pa_后半部分meta键:
它将显示:nutty butty
相关线程:Loic,谢谢!你救了我一两次头痛!
foreach ( $order->get_items() as $item_id => $item ) {
// Get all meta data in an unprotected array of objects
$meta_data = $item->get_formatted_meta_data('_', true);
// Raw output (testing)
echo '<pre>'; var_dump($meta_data); echo '</pre>';
}
[4690]=>
object(stdClass)#0000 (4) {
["key"]=>
string(14) "pa_second-half"
["value"]=>
string(11) "nutty-butty"
["display_key"]=>
string(11) "Second half"
["display_value"]=>
string(12) "Nutty butty"
}
foreach ( $order->get_items() as $item_id => $item ) {
$meta_data = $item->get_formatted_meta_data();
// Get the meta data value
$meta_value = $item->get_meta("pa_second-half");
echo $meta_value; // Display the value
}