2015-09-24 2 views
0

Это само Q &WooCommerce: Получить ключ => значение массива из корзины товаров вариации

Мне нужен способ, чтобы аккуратно построить ключ => значение массива всех вариаций для элемента в тележке. Доступные функции Woo возвращают строку.

+0

документация Woo настолько плохо, и их функции так привязаны к HTML, который я планирую на добавление много этих Уо связанных вопросов и ответов, как моя фирма занимается строительство Woo магазинов с нуля в ближайшие месяцы. –

ответ

0

Эта функция принимает элемент корзины и возвращает массив ключей =>.

Место это в functions.php

/* 
* Get a cart product/item's variation as a key=>value pair 
*/ 
    function store_get_cart_product_variations($cart_item) { 
     $variations = WC()->cart->get_item_data($cart_item, true); 

     // Explode and trim 
     $parts = explode(PHP_EOL, $variations); 
     $parts = array_filter($parts); 

     // Build a key=>value pair, trim any extra whitespace 
     $variations = array(); 
     foreach($parts as $part) { 
      list($key, $value) = explode(':', $part); 
      $variations[trim($key)] = trim($value); 
     } 

     return $variations; 
    } 

И тогда он может быть использован как это:

$cart_items = WC()->cart->get_cart(); 
foreach ($cart_items as $cart_item_key => $cart_item) { 
    $variations = store_get_cart_product_variations($cart_item);   
    foreach($variations as $type => $value) { 
     echo $type . ': ' . '<span class="value">' . $value .'</span>'; 
    } 
} 
Смежные вопросы