Продукты в отдельных строках на кассе woocommerce, когда количество & gt; 1

я использую WooCommerce подписка с расширением подарков. С этим можно подарить подписку получателю. Я пытаюсь сделать возможным подарить подписку нескольким людям в одном заказе.

Хитрость в том, что каждый продукт по умолчанию может быть подарен только 1 человеку. Таким образом, чтобы сделать подарок нескольким людям, один и тот же продукт должен быть добавлен в корзину несколько раз.

С использованием этой темы: WooCommerce — обрабатывать отдельные элементы корзины, если количество превышает 1

Мне удалось добавить один и тот же товар в корзину и показать в несколько строк. Поэтому, если я введу количество 5 моего продукта по подписке и добавлю его в корзину, я получу пять записей в своей корзине. Что здорово, так как теперь я могу подарить каждую строчку другому человеку.

Однако, когда я перехожу к оформлению заказа, он снова запутывается. Вместо того, чтобы показывать продукт в отдельных строках, все смешивается. Таким образом, на кассе я вижу 1 строку с количеством 5, а не 5 строк с количеством 1.

Вот где возникает вопрос:

Как я могу убедиться, что в таблице проверки заказа на странице оформления заказа показаны отдельные строки для продукта с количеством x> 1 вместо 1 строки с количеством x?

Примечание:
Я понял, что это не работает, только когда активна надстройка подарков WooCommerce. Это переопределяет, кажется, переопределяет wc_cart_item_data

1

Решение

Вы можете использовать этот код

    function separate_individual_cart_items( $cart_item_data, $product_id ) {
$unique_cart_item_key = md5( microtime() . rand() );
$cart_item_data['unique_key'] = $unique_cart_item_key;

return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'separate_individual_cart_items', 10, 2 );

Вы можете поместить этот код в functions.php или в свой собственный плагин (лучшее решение).

И наблюдение, потому что этот вопрос похож на этот вопрос

WooCommerce — обрабатывать отдельные элементы корзины, если количество превышает 1

но я не могу закрыть вопрос, извините … у меня низкая репутация)

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector