Домой Каталог: Дополнения WP-Recall Users Files Market Количество продаваемых товаров
7ответ(ов) в теме
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
1
15:09
Версия WP-Recall: 16.6.3
Версия дополнения: 1.7.4

Здравствуйте! Подскажите пожалуйста! Сложно ли реализовать ограничение по количеству продаваемых цифровых товаров? Нужно для продажи индивидуального дизайна в ограниченном количестве.

Заранее спасибо за ответ!

0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16943
2
20:00

реализовать можно, надо лишь отслеживать кол-во продаж и при достижении определенного уровня снимать товар с продажи.
Примерно так:

add_action('rcl_payment_order','check_sale_order',30);
function check_sale_order($order_id){

	$maxSale = 2; //максимально две продажи

	$order = rcl_get_order($order_id);
	
	foreach($order->products as $product){
	
		$saleAmount = get_post_meta($product->product_id,'product-sale',1);
		
		if(!$saleAmount) $saleAmount = 0;
		
		$saleAmount++;
		
		update_post_meta($product->product_id,'product-sale',$saleAmount);
	
        if($saleAmount >= $maxSale){
			//если достигнут предел продаж, то удаляем в корзину
			wp_update_post(array(
				'ID' => $product->product_id,
				'post_status' => 'trash'
			));
		}
    }

}

1
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
3
09:26

add_action('rcl_payment_order','check_sale_order',30); function check_sale_order($order_id){ $maxSale = 1; //максимально одна продажа $order = rcl_get_order($order_id); foreach($order->products as $product){ $saleAmount = get_post_meta($product->product_id,'product-sale',1); if(!$saleAmount) $saleAmount = 0; $saleAmount++; update_post_meta($product->product_id,'product-sale',$saleAmount); if($saleAmount >= $maxSale){ //если достигнут предел продаж, то удаляем в корзину wp_update_post(array( 'ID' => $product->product_id, 'post_status' => 'trash' )); } } }

Вот прям почти то что нужно! Только при покупке невозможно скачать выдаёт "Файл не найден" и ещё вообще супер если можно было бы указать определённую категорию... например "Разовый товар" для индивидуальных товаров.

0
Вова (Otshelnik-Fm)
не в сети 1 день
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
4
09:52

Krystina сказал(а)
ещё вообще супер если можно было бы указать определённую категорию... например "Разовый товар" для индивидуальных товаров.

Это уже похоже на техзадание и допиливание под свой сайт - специфичный и редкий функционал просите

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

Используйте условные теги вордпресса

Вы не можете просматривать опубликованные ссылки
1
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
5
10:02

Otshelnik-Fm сказал(а)

Krystina сказал(а)
ещё вообще супер если можно было бы указать определённую категорию... например "Разовый товар" для индивидуальных товаров.

Это уже похоже на техзадание и допиливание под свой сайт - специфичный и редкий функционал просите

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

Используйте условные теги вордпресса

Вы не можете просматривать опубликованные ссылки

Вам огромное спасибо за помощь!!! ❓

0
Валерий
не в сети 4 года
На сайте с 20.03.2015
Участник
Тем 35
Сообщения 87
6
22:41

Можете пожалуйста посмотреть эту конструкцию, сейчас не срабатывает, не пойму почему. Кажется это метаполе product-sale, должно быть таким sales-product, но здесь что то еще не так.

Андрей CS сказал(а)
реализовать можно, надо лишь отслеживать кол-во продаж и при достижении определенного уровня снимать товар с продажи.
Примерно так:

add_action('rcl_payment_order','check_sale_order',30);
function check_sale_order($order_id){

	$maxSale = 2; //максимально две продажи

	$order = rcl_get_order($order_id);
	
	foreach($order->products as $product){
	
		$saleAmount = get_post_meta($product->product_id,'product-sale',1);
		
		if(!$saleAmount) $saleAmount = 0;
		
		$saleAmount++;
		
		update_post_meta($product->product_id,'product-sale',$saleAmount);
	
        if($saleAmount >= $maxSale){
			//если достигнут предел продаж, то удаляем в корзину
			wp_update_post(array(
				'ID' => $product->product_id,
				'post_status' => 'trash'
			));
		}
    }

}

Еще момет, что бы снять с продажи товар, это сработает? :

if($saleAmount >= $maxSale){
//если достигнут предел продаж, то снимаем товар с продажи
$values = ['1'];
update_post_meta($product->product_id,'outsale', $values);
}

0
Вова (Otshelnik-Fm)
не в сети 1 день
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
7
23:22

Не стоит писать в чужих темах.
Заводите свою с ссылкой на эту - но вопросы кастомизаций в техподдержку не входят - только по усмотрению автора. Закрыто.

0
Тема закрыта. Публикация новых сообщений запрещена.