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

Скидки Woocommerce

HIT

19.07.2016

3222

2


Deprecated: Function create_function() is deprecated in /home/htvtwmhs/public_html/wp-content/plugins/wp-spamshield/wp-spamshield.php on line 2033

Добавляем и настраиваем в woocommerce различные системы скидок.

Стандартная скидка Woocommerce

Можно включить «акционную» цену на товар, к ней можно добавить дату окончания скидки. У товара появляется лэйбл «Распродажа», можно изменить на «Акция» или SALE переводом.

Вывести процент скидки

для этого нужно создать файл percentage.php (в директории woocommerce/single-product/) с содержимым:

<?php
/**
* Product sale percentage
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4
*/

if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}

global $post, $product;

?>
<?php if ($product->is_on_sale() && $product->product_type == 'variable') : ?>

<div class="percentage">
<div class="inside">
<div class="inside-text">
<?php
$available_variations = $product->get_available_variations();
$maximumper = 0;
for ($i = 0; $i < count($available_variations); ++$i) {
$variation_id=$available_variations[$i]['variation_id'];
$variable_product1= new WC_Product_Variation( $variation_id );
$regular_price = $variable_product1 ->regular_price;
$sales_price = $variable_product1 ->sale_price;
$percentage= round((( ( $regular_price - $sales_price ) / $regular_price ) * 100),1) ;
if ($percentage > $maximumper) {
$maximumper = $percentage;
}
}
echo $price . sprintf( __('%s', 'woocommerce' ), $maximumper . '%' ); ?></div>
</div>
</div><!-- end callout -->

<?php elseif($product->is_on_sale() && $product->product_type == 'simple') : ?>

<div class="percentage">
<div class="inside">
<div class="inside-text">
<span style="font-family: 'Open Sans', sans-serif; font-size:9px">Скидка!</span>
<?php
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
echo $price . sprintf( __('-%s', 'woocommerce' ), $percentage . '%' ); ?></div>
</div>
</div><!-- end bubble -->

<?php endif; ?>

Выводим в шаблоне WC

<?php get_template_part( 'woocommerce/single-product/percentage' ); ?>

Выгода в рублях

Для этого нужно создать файл benefit.php (в директории woocommerce/single-product/) с содержимым:

<?php
/**
 * Product sale benefit
 *
 * @author WooThemes
 * @package WooCommerce/Templates
 * @version 1.6.4
 */

if ( ! defined( 'ABSPATH' ) ) {
 exit; // Exit if accessed directly
}

global $post, $product;

?>
<?php if ($product->is_on_sale() && $product->product_type == 'variable') : ?>
 
 <div class="benefit">
 <div class="inside">
 <div class="inside-text">
 <?php 
 $available_variations = $product->get_available_variations(); 
 $maximumper = 0;
 for ($i = 0; $i < count($available_variations); ++$i) {
 $variation_id=$available_variations[$i]['variation_id'];
 $variable_product1= new WC_Product_Variation( $variation_id );
 $regular_price = $variable_product1 ->regular_price;
 $sales_price = $variable_product1 ->sale_price;
 $benefit= round(($regular_price - $sales_price),1) ;
 if ($benefit > $maximumper) {
 $maximumper = $benefit;
 }
 }
 echo $price . sprintf( __('%s', 'woocommerce' ), $maximumper . 'р.' ); ?></div>
 </div>
 </div><!-- end callout -->
 
<?php elseif($product->is_on_sale() && $product->product_type == 'simple') : ?>
 
 <div class="benefit">
 <div class="inside">
 <div class="inside-text">
 <span>Выгода:</span>
 <?php 
 $benefit = round( $product->regular_price - $product->sale_price );
 echo $price . sprintf( __('%s', 'woocommerce' ), $benefit . 'р.' ); ?></div>
 </div>
 </div><!-- end bubble -->
 
<?php endif; ?>

Выводим в шаблоне WC

<?php get_template_part( 'woocommerce/single-product/benefit' ); ?>

Скидка от количества товара

В зависимости от количества покупаемого товара применяется скидка (обновить корзину) от 11 до 22 — 2% от 22 до 52 — 5% более 52 — 10%

//Скидка по количеству товара

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' ); 

function add_custom_price( $cart_object ) { 
  foreach ( $cart_object->cart_contents as $key => $value ) { 
	if ($value['quantity']>11 && $value['quantity']<22) { $discount = $value['data']->price * 0.02; $value['data']->price = $value['data']->price - $discount; } 
	elseif ($value['quantity']>22 && $value['quantity']<52) { $discount = $value['data']->price * 0.05; $value['data']->price = $value['data']->price - $discount; } 
	elseif ($value['quantity']>52) { 
	  $discount = $value['data']->price * 0.10; $value['data']->price = $value['data']->price - $discount; } 
	else { ''; } 
  } 
}

И еще одна найденная функция (-5%), сам еще не проверял:

add_action( ‘woocommerce_before_calculate_totals’, ‘add_custom_price’ );

function add_custom_price( $cart_object ) {
foreach ( $cart_object->cart_contents as $key => $value ) {

if ($value[‘quantity’]>0) {
$discount = $value[‘data’]->price * 0.05;
$value[‘data’]->price = $value[‘data’]->price — $discount;
}
}
}

Скидка от суммы заказа

Реализуем данную скидку с помощью купона, для этого создаем «купон» со скидкой в 10% (в настройках woocommerce должны быть активированы купоны).

// Скидка на сумму заказа (с помощью купона)

add_action( 'woocommerce_before_cart', 'apply_matched_coupons' ); 

function apply_matched_coupons() { 
  global $woocommerce; $coupon_code = '10_procent_code'; 
  if ( $woocommerce->cart->has_discount( $coupon_code ) ) return; 
  if ( $woocommerce->cart->cart_contents_total >= 2500 ) 
  { $woocommerce->cart->add_discount( $coupon_code ); $woocommerce->show_messages(); } 
} 

Обратите внимание что в $coupon_code = ’10_procent_code’ вместо 10_procent_code вы должны вставить код скидочного купона

Статья содержит материалы сайта: eysman.pro

WooCommerce Bulk Discount (20 000+)

Отличный плагин для реализации системы скидок. Плюсом данного решения является то, что объем товара и скидки можно настроить конкретно для каждого товара. Глобально можно настроить какого характера будет скидка: в рублях, в процентах или фиксированная цена (т.е. если изменить в настройках проценты, то в товарах скидку назначать можно только в процентах).

Для вариаций товара используется общие настройки как для одного товара (это считаю минусом). В настройках можно выставить считать общее количество всех вариаций для скидки или только в рамках одной вариации.

Woo — Dynamic Pricing

Исключительно платное решение, для одного сайта 129$ (04.06.2018), но оно того стоит!

Во первых, есть ряд глобальных настроек: скидки на группы товаров, скидки в зависимости от ролей, а также скидки распространяющиеся на всю категорию (по сути функционал плагина Woo Product Category Discount).

Во вторых, индивидуальные настройки товара. Можно настраивать группы скидок, а в каждой группе правила (от 10, от 30, от 50 и т.д.), причем скидка для каждого товара отдельно может быть в процентах, в рублях, либо фиксированной. Можно прописывать период действия скидок. Для вариаций можно прописать правила отдельно!

Тэги:

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

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

Массовое редактирование свойств товаров

Быстрое изменение товаров Для того чтобы массово отредактировать товары woocommerce нужно установить плагин Woocommerce advanced bulk edit. В репозитории плагинов WordPress его нет, он платный. Если поискать на просторах интернета Читать далее »

/ /
Настраиваем woocommerce

Настраиваем woocommerce

Настраиваем различные аспекты плагина woocommerce, под текущие задачи. Ваша корзина пуста Шаблон для настроек страницы корзины (когда она пуста) находится здесь: woocommerce (локализованная в теме)/cart/cart-empty.php Можно отцентрировать и добавить какое-либо Читать далее »

/
Metabox woocommerce

Metabox woocommerce

У плагина woocommerce есть набор дополнительных полей при редактировании товара. При необходимости можно в группы полей WC добавить свои произвольные metabox. Должно получится так: Создание и отображение metabox Первый экшн Читать далее »

/

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

2 комментария

  1. Лисицын

    Спасибо за решение. Давно искал.
    Кстати часто что-то ищу и не первый раз нахожу у вас на сайте.
    Есть большое пожелание / убрать кастомный скролл с сайта — юзабилити зеро))

    1. Alexandr
      Alexandr

      Прислушаюсь к Вашему совету. С этим скроллом постоянно какие то проблемы.. А его «крутость» сомнительна. И слышу о неудобстве уже не первый раз. Отключил.
      Спасибо за отзыв!

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