/ Сайтостроение / Плагины / Апселлы и кросселы

Апселлы и кросселы

HIT

06.12.2016

2959

5

У Woocommerce есть функционал Апселлы и Кросселы.

upsell_cross-sell_blog1-1

Апселлы

Апселлы — лучшие товары которые вы бы рекомендовали в замен данному. К примеру, товары которые лучше по качеству или каким-то другим характеристикам, допустим более высокой ценой.

Выводятся под табами (вкладками) товара с заголовком Вам также может понравиться…, но можно быстро вывести их в отдельную вкладку.

Кросселы

Кросселы — Кросс-продажи — это сопутствующие для данного товары.

Выводятся на странице Корзина слева от общей стоимости под заголовком Вас также может заинтересовать…
Это не очень удобно. Сделаем чтобы кросселы выводились в карточке товара.

Удалить сопутствующие товары из шаблона корзины:

// Удаляем сопутствующие товары из корзины
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display');

Кросселы в шаблоне товара

В необходимом месте шаблона карточки товара вставляем код:

<?php

$crosssell_ids = get_post_meta( get_the_ID(), '_crosssell_ids' );
$crosssell_ids=$crosssell_ids[0];

if(count($crosssell_ids)>0){

$args = array(
'post_type' => 'product',
'ignore_sticky_posts' => 1,
'no_found_rows' => 1,
'posts_per_page' => apply_filters( 'woocommerce_cross_sells_total', $posts_per_page ),
'orderby' => $orderby,
'post__in' => $crosssell_ids
);

$products = new WP_Query( $args );

$woocommerce_loop['columns'] = apply_filters( 'woocommerce_cross_sells_columns', $columns );

if ( $products->have_posts() ) : ?>

<div class="cross-sells">

<h2><?php _e( 'You may be interested in&hellip;', 'woocommerce' ) ?></h2>

<?php woocommerce_product_loop_start(); ?>

<?php while ( $products->have_posts() ) : $products->the_post(); ?>

<?php wc_get_template_part( 'content', 'product' ); ?>

<?php endwhile; // end of the loop. ?>

<?php woocommerce_product_loop_end(); ?>

</div>

<?php endif;

}

wp_reset_query(); ?>

Чтобы сопутствующие товары выводились в случайном порядке — надо заменить значение

‘orderby’ => $orderby, на ‘orderby’ => ‘rand’,

Чтобы создать эффект динамики сопутствующих товаров, можно сделать следующее: поставить лимит вывода товаров (5 шт), задать больше 5 шт сопутствующих товаров (10 шт) и включить случайный порядок (rand). При перезагрузке страницы сопутствующие товары и их расположение будет меняться!

Изменяем количество сопутствующих товаров

// Изменяем количество выводимых сопутствующих товаров
add_filter( 'woocommerce_cross_sells_total', 'bbloomer_change_cross_sells_product_no' );
  
function bbloomer_change_cross_sells_product_no( $columns ) {
return 2;
}

Также можно изменить количество колонок сопутствующих товаров, еще одной функцией:

// Изменяем количество сопутствующих товаров в ряду
add_filter( 'woocommerce_cross_sells_columns', 'change_cross_sells_columns' );
 
function change_cross_sells_columns( $columns ) {
return 5;
}

Можно объединить эти две функции так:

// Изменяем количество сопутствующих товаров (и в ряду)
add_filter( 'woocommerce_cross_sells_columns', 'change_cross_sells_columns' );
add_filter( 'woocommerce_cross_sells_total', 'change_cross_sells_columns' );
 
function change_cross_sells_columns( $columns ) {
return 4;
}

Как быстро заполнить сопутствующие товары — читайте статью Массовое редактирование свойств товаров.

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Единица измерения товара

Единица измерения товара

В связи с растущими потребностями к функционалу интернет-магазинов будем создавать востребованный функционал на базе плагина Woocommerce. Единица измерения товара Если необходимо выводить единицу товара (шт, кв.м, упаковка, пог.м, и т.д.), Читать далее »

Оформление заказа

Оформление заказа

Страница оформления плагина woocommerce имеет определенную структуру и функционал. Но данная структура не совсем удобна. Доработаем страницу оформления, разбив на логические блоки: Заказ, Доставка, Форма оплаты, Информация о заказчике и Читать далее »

/
Метод изменения шаблонов woocommerce

Метод изменения шаблонов woocommerce

В данной статье будет рассмотрен метод изменения шаблонов плагина Woocommerce. Разделение шаблонов категории и товара Первым делом надо разделить общий шаблон woocommerce.php на woocommerce-product.php и woocommerce-category.php. Делаем это простой проверкой: Читать далее »

Добавить комментарий

5 комментариев

  1. Аватар
    Артем

    // Удаляем сопутствующие товары из корзины
    remove_action( ‘woocommerce_cart_collaterals’, ‘woocommerce_cross_sell_display’);
    куда и в каком виде вставлять?
    в файл cart.php сюда? вместо этого или как?
    <div class=»cart-collaterals»>
    <?php do_action( ‘woocommerce_cart_collaterals’ ); ?>    
    </div>

    1. Alexandr
      Alexandr

      remove_action нужно вставлять в functions.php

  2. Аватар
    Александр

    Огромное вам спасибо! 

  3. Аватар
    Nick

    Спасибо, было полезно

  4. Аватар
    Леонид

    Здравствуйте!
    Классное решение!
    Но как быть, если не добавлять к товару сопутствующие товары, то он выводит ошибку?Warning: count(): Parameter must be an array or an object that implements Countable in D:\OSPanel\domains\localhost\zabori\wp-content\themes\zabori\woocommerce\single-product.php on line 106

Апселлы и кросселы Апселлы и кросселы
Стили и скрипты
Рекомендации для васСтили и скриптыOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.