/ Плагины / Образец товара

Образец товара

HIT

28.05.2021

1080

Образец (sample) товара может быть полезен в некоторых областях интернет торговли, например продажа тканей.

Плагин Free Product Sample for WooCommerce (400+)

Плагин предоставляет довольно простой функционал. В карточке товара, после кнопки В корзину, добавляет еще одну кнопки Получить образец. При нажатии товар попадает в корзину с нулевой ценой и пометкой (sample). Можно настраивать максимальное количество образцов.

В Pro-версии за 29$ (28.05.2021) можно:

  • Установить цену образца
  • Вывести кнопку в категории
  • Настраивать выборку товаров или категорий у которых активен данный функционал
  • Задать, при наличии образца в заказе, метод доставки
Данный плагин вызывает ошибку при ajax-обновлении корзины
Ошибка устраняется если отключить в настройках плагина лимит образцов — Disable Maximum Limit.

Wocommerce Product Samples (Mladjo, 300)

Плагин не работает.

Simple Product Sample (MCI Desarrollo, 10)

Всего одна настройка — не применять к вариативным товарам. Но интересный функционал. Дает возможность у каждого товара включать возможность образца и устанавливать стоимость образца.

[alert]В корзине ошибка: итоговая цена за образец выводится не верно. И глючит обновление корзины.[alert]

WooCommerce Sample (Michele Menciassi, 200)

Плагин фактически не работает. Множественные ошибки. Образец не добавляется. Фуункционал предполагался схожий с плагином Simple Product Sample.

Решение без плагина

Нашел в сети решение от Rodolfo Melogli (сайт businessbloomer.com). Не вполне понятно как это работает, но можно в будущем потестировать.

// 1. Display Free Sample Add to Cart 
// Note: change "123" with Free Sample ID
  
add_action( 'woocommerce_single_product_summary', 'bbloomer_add_free_sample_add_cart', 35 );
  
function bbloomer_add_free_sample_add_cart() {
   ?>
      <form class="cart" method="post" enctype='multipart/form-data'>
      <button type="submit" name="add-to-cart" value="123" class="single_add_to_cart_button button alt">Order a Free Sample</button>
      <input type="hidden" name="free_sample" value="<?php the_ID(); ?>">
      </form>
   <?php
}
  
  
// 2. Add the custom field to $cart_item
  
add_filter( 'woocommerce_add_cart_item_data', 'bbloomer_store_free_sample_id', 9999, 2 );
  
function bbloomer_store_free_sample_id( $cart_item, $product_id ) {
   if ( isset( $_POST['free_sample'] ) ) {
         $cart_item['free_sample'] = $_POST['free_sample'];
   }
   return $cart_item; 
}
  


// 3. Concatenate "Free Sample" with product name (CART & CHECKOUT)
// Note: change "123" with Free Sample ID
  
add_filter( 'woocommerce_cart_item_name', 'bbloomer_alter_cart_item_name', 9999, 3 );
  
function bbloomer_alter_cart_item_name( $product_name, $cart_item, $cart_item_key ) {
   if ( 123 === $cart_item['product_id'] ) {
      $product = wc_get_product( $cart_item["free_sample"] );
      $product_name .=  " (" . $product->get_name() . ")";
   }
   return $product_name;
}
  


// 4. Add "Free Sample" product name to order meta
// Note: this will show on thank you page, emails and orders
  
add_action( 'woocommerce_add_order_item_meta', 'bbloomer_save_posted_field_into_order', 9999, 2 );
  
function bbloomer_save_posted_field_into_order( $itemID, $values ) {
    if ( ! empty( $values['free_sample'] ) ) {
      $product = wc_get_product( $values['free_sample'] );
      $product_name = $product->get_name();
      wc_add_order_item_meta( $itemID, 'Free sample for', $product_name );
    }
}

Woocommerce Free Sample (by Kevin Ruscoe)

Работающее решение! У товара необходимо активировать опцию Образец.

Плагин создает товар Sample Product, в который подставляется значение товара из которого выбран Образец.

Минусами данного решения является

  • Когда товар попадает в заказ, то у него не отображается наименование. Он выводится как Sample Product.
  • [не существенно] Если добавить образцы с двух разных товаров, в самой корзине они отображаются как разные товары, а мини-корзина в параметре количество позиций считает их за один товар.

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

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

Пока нет комментариев. Будь первым!

Образец товара
Добавим корзину на сайт. Angry-cart.js
Рекомендации для васДобавим корзину на сайт. Angry-cart.jsOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.