Php 获取具有非唯一元键的特定订单项元数据

Php 获取具有非唯一元键的特定订单项元数据,php,wordpress,woocommerce,metadata,orders,Php,Wordpress,Woocommerce,Metadata,Orders,我正在使用应答码: // 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 = $ite

我正在使用应答码:

// 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 All item meta data even hidden (in an unprotected array)
    $formatted_meta_data = $item->get_formatted_meta_data( '_', true );

    // Display the raw outputs (for testing)
    echo '<pre>'; print_r($item_meta_data); echo '</pre>';
    echo '<pre>'; print_r($formatted_meta_data); echo '</pre>';
}

由于所需的订单项元数据没有唯一的元数据键(已多次使用),因此将使用
WC\u order\u item
get\u formatted\u meta\u data()
方法,以数组形式格式化自定义订单项元数据,如下所示:

// 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 specific order item data value from specific meta key
    $carboidrato = $item->get_meta('Carboidrato');

   // Output value for that metakey
   echo '<p>' . __('Carboidrato') . ': ' . $carboidrato . '</p>';
}

有关信息:当您想要的订单项元数据具有唯一的元数据键时,您将使用
WC\u data
get\u meta()
方法,如下所示:

// 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 specific order item data value from specific meta key
    $carboidrato = $item->get_meta('Carboidrato');

   // Output value for that metakey
   echo '<p>' . __('Carboidrato') . ': ' . $carboidrato . '</p>';
}
//从ID获取$order对象(如果需要)
$order=wc\u get\u order($order\u id);
//循环浏览订单行项目
foreach($order->get_items()作为$item){
//从特定元键获取特定订单项数据值
$carboidrato=$item->get_meta('carboidrato');
//该元键的输出值
回音“”.“Carboidrato”):“.$Carboidrato.”

”; }
太棒了!!!非常感谢你!
Array
(
    [Carboidrato] => Array
        (
            [0] => Arroz Branco COM Feijão
            [1] => Arroz Integral à Grega COM Feijão
            [2] => Macarrão Alho Poró
        )

    [Proteína] => Array
        (
            [0] => Parmegiana Bovina
            [1] => Parmegiana Frango
        )

    [Guarnição] => Array
        (
            [0] => Batata Rosthi Recheada com Requeijão
            [1] => Farofa
        )

)
// 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 specific order item data value from specific meta key
    $carboidrato = $item->get_meta('Carboidrato');

   // Output value for that metakey
   echo '<p>' . __('Carboidrato') . ': ' . $carboidrato . '</p>';
}