Выводим свойства товаров в WooCommerce на странице Корзины

В сегодняшней статье мы представим два примера того, как можно свойства товаров на странице Корзины в WooCommerce. Для этого будет использоваться хук Woocommerce под названием ‘woocommerce_cart_item_name’, который позволяет свойствам товара выводится под названием товара на странице корзины. Работаем, как обычно с файлом functions.php, а не с файлами шаблона.

Для вывода свойств товаров на странице товара смотрите статью Выводим пользовательские свойства товаров в WooCommerce на странице товара.

Выводим все свойства товаров списком с новой строки

Этот пример выводит все свойства товаров для каждой его единицы списком, один по другим (каждое свойство с новой строки). Например:

Название товара
Название свойства 1: значение свойства 1
Название свойства 2: значение свойства 2
Название свойства 3: значение свойства 3

Этот код добавляем в файл functions.php:

/**
* WooCommerce: выводим все свойства товаров списком под каждой единицей на странице корзины
*/
function devise_woo_cart_attributes($cart_item, $cart_item_key){
 
    $item_data = $cart_item_key['data'];
    $attributes = $item_data->get_attributes();
     
     
    if ( ! $attributes ) {
        return $cart_item;
    }
     
    $out = $cart_item . '<br />';
     
    foreach ( $attributes as $attribute ) {
  
        $out .= $attribute['name'] . ': ';
        $out .= $attribute['value'] . '<br />';
  
    }
     
    echo $out;
}
 
add_filter( 'woocommerce_cart_item_name', devise_woo_cart_attributes, 10, 2 );

Выводим все свойства товаров, разделяемые запятой

Этот пример выводит все свойства товаров, один рядом с другим, разделяемые запятой. Он отобразит названия свойств и их значения. Например:

Название товара
Название свойства 1: значение свойства 1, Название свойства 2: значение свойства 2, Название свойства 3: значение свойства 3

Если вам нужно вывести только значения, без названий свойств, тогда закомментируйте строку 20 ниже.

	
/**
* WooCommerce: выводим все свойства товаров, разделенных запятой, на странице корзины
*/
function devise_woo_cart_attribute_values($cart_item, $cart_item_key){
 
    $item_data = $cart_item_key['data'];
    $attributes = $item_data->get_attributes();
     
    if ( ! $attributes ) {
        return $cart_item;
    }
     
    $out = $cart_item . '<br />';
     
    $count = count($attributes);
     
    $i = 0;
    foreach ( $attributes as $attribute ) {
  
        $out .= $attribute['name'] . ': ';
        $out .= $attribute['value'];
         
        if ( $count > 1 && ( $i < ($count - 1) ) ) {
         
            $out .= ', ';
         
        }
         
        $i++;
  
    }
     
    echo $out;
}
add_filter( 'woocommerce_cart_item_name', devise_woo_cart_attribute_values, 10, 2 );

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (4 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Евгений Онегин

    Вы не подскажите как вывести свойства товаров в миниатюрах товаров на странице выдачи категории

  • Сергей К.

    Здравствуйте! Почему выводятся только названия свойств, но без значений :
    pa_diagonal-ekrana: , pa_razreshenie-ekrana: ,
    Сами значения прописаны (импортированы с товарами и выводятся в доп.информации). Темы разные пробовал.

Scroll To Top