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

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

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

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

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

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

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

1/**
2* WooCommerce: выводим все свойства товаров списком под каждой единицей на странице корзины
3*/
4function devise_woo_cart_attributes($cart_item, $cart_item_key){
5  
6    $item_data = $cart_item_key['data'];
7    $attributes = $item_data->get_attributes();
8      
9      
10    if ( ! $attributes ) {
11        return $cart_item;
12    }
13      
14    $out = $cart_item . '<br />';
15      
16    foreach ( $attributes as $attribute ) {
17   
18        $out .= $attribute['name'] . ': ';
19        $out .= $attribute['value'] . '<br />';
20   
21    }
22      
23    echo $out;
24}
25  
26add_filter( 'woocommerce_cart_item_name', devise_woo_cart_attributes, 10, 2 );

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

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

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

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

1     
2/**
3* WooCommerce: выводим все свойства товаров, разделенных запятой, на странице корзины
4*/
5function devise_woo_cart_attribute_values($cart_item, $cart_item_key){
6  
7    $item_data = $cart_item_key['data'];
8    $attributes = $item_data->get_attributes();
9      
10    if ( ! $attributes ) {
11        return $cart_item;
12    }
13      
14    $out = $cart_item . '<br />';
15      
16    $count = count($attributes);
17      
18    $i = 0;
19    foreach ( $attributes as $attribute ) {
20   
21        $out .= $attribute['name'] . ': ';
22        $out .= $attribute['value'];
23          
24        if ( $count > 1 && ( $i < ($count - 1) ) ) {
25          
26            $out .= ', ';
27          
28        }
29          
30        $i++;
31   
32    }
33      
34    echo $out;
35}
36add_filter( 'woocommerce_cart_item_name', devise_woo_cart_attribute_values, 10, 2 );

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

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

VN:F [1.9.22_1171]
Rating: 4.3/5 (6 votes cast)

Об авторе ADv

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