Измените цену конкретного товара в корзине WooCommerce на основе количества товаров с определенными идентификаторами проPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Измените цену конкретного товара в корзине WooCommerce на основе количества товаров с определенными идентификаторами про

Сообщение Anonymous »

У меня есть код в WooCommerce, по которому вы покупаете товары с идентификатором:
1561, 1919, 1568, 1562, 1563, 1564, 1565, 1566, 1567
Итак, второй товар — NIS 10.
Товар, на который распространяется скидка, — это только продукт с идентификатором 1561.
Код работает хорошо, но как только я хочу провести несколько рекламных акций, он не работает. Это не работает.
Например:
Если вы покупаете два продукта, я хочу, чтобы покупатель мог получить продукт 1561 дважды за 10 шекелей.
Если вы купите пять продуктов, то я хочу, чтобы покупатель мог получить в пять раз больше продукта 1561 за 10 шекелей
И так далее...
add_action('woocommerce_before_calculate_totals', 'change_second_item_price', 10, 1);

function change_second_item_price($cart) {
if (is_admin() && !defined('DOING_AJAX')) {
return;
}

$discounted_product_id = 1561;
$new_regular_price = 10; // NIS 10

// Initialize count for the target products
$target_product_count = 0;

// Loop through cart items
foreach ($cart->get_cart() as $cart_item_key => $cart_item) {
$product_id = $cart_item['product_id'];

// Check if the product is one of the target products
if (in_array($product_id, array(1561, 1919, 1568, 1562, 1563, 1564, 1565, 1566, 1567))) {
$target_product_count += $cart_item['quantity'];

// Check if it's the discounted product and change the regular price
if ($product_id == $discounted_product_id && $target_product_count >= 2) {
$cart_item['data']->set_regular_price($new_regular_price);
$cart_item['data']->set_price($new_regular_price); // Also set the current price to the regular price
break; // Stop the loop after changing the regular price for the second item of the discounted product
}
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/777 ... ids-item-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сортировка товаров WooCommerce по артикулам в корзине, мини-корзине и заказах.
    Гость » » в форуме Php
    0 Ответы
    108 Просмотры
    Последнее сообщение Гость
  • Woocommerce дублирует товар в корзине без увеличения количества товара
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Пользовательские поля оформления заказа для каждого количества товаров в корзине в WooCommerce
    Anonymous » » в форуме Php
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Измените цену продукта в корзине WooCommerce и при оформлении заказа.
    Anonymous » » в форуме Php
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Расчет цены товара в корзине на основе выбранного настраиваемого поля «дни» в Woocommerce.
    Anonymous » » в форуме Php
    0 Ответы
    93 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»