2015-06-19 2 views
0

Один из моих любимых членов helgatheviking дал мне хорошее решение of my previous question, чтобы удалить поле количества из корзины для определенного атрибута продукта. Ниже приведена ее функция.Как показать имя атрибута продукта на странице корзины

add_filter('woocommerce_cart_item_quantity', 'remove_cart_item_quantity', 10, 2); 
function remove_cart_item_quantity($product_quantity, $cart_item_key){ 
    $cart_item = WC()->cart->cart_contents[ $cart_item_key ]; 
    if($cart_item['data']->is_type('variation')){ 
     $attributes = $cart_item['data']->get_attributes(); 
     // var_dump($attributes); 
     if(array_key_exists('color', $attributes)){ 
      $product_quantity = ''; 
     } 
    } 
    return $product_quantity; 
} 

Теперь $product_quantity; возвращает пустую строку.

Можно ли указать имя вместо пустого. $product_quantity = ''; Что я должен заменить? Если выбранный продукт имеет цвет Зеленый. $product_quantity; должен возвращать зеленый цвет. ПРИМЕР: $product_quantity = '$color'; Как я могу получить цветовую строку из атрибута продукта, который находится в корзине.

+0

Как показать имя цвета –

+0

В другой вопрос, мы уже обсуждали с помощью 'var_dump' чтобы увидеть, какие данные доступны в переменной атрибутов. – helgatheviking

+0

Спасибо !!! Я просто решаю это, см. Ниже ответ –

ответ

0

Я Решить это на самом деле $_pname = WC()->cart->get_item_data($cart_item); Таким образом, вы можете использовать $product_quantity = str_ireplace('Choose Quantity:', '',$_pname) ;

add_filter('woocommerce_cart_item_quantity', 'remove_cart_item_quantity', 10, 2); 
function remove_cart_item_quantity($product_quantity, $cart_item_key){ 
    $cart_item = WC()->cart->cart_contents[ $cart_item_key ]; 
    if($cart_item['data']->is_type('variation')){ 
     $attributes = $cart_item['data']->get_attributes(); 
     $_pname = WC()->cart->get_item_data($cart_item); 
     if(array_key_exists('choose-quantity', $attributes)){ 
      $product_quantity = str_ireplace('Choose Quantity:', '',$_pname) ; 
     } 
    } 
    return $product_quantity; 
} 

Выход: Output Cart.php