Этот скрипт считывает корзину, видит, что два продукта присутствуют, и добавляет еще один другой, отличный от других.
Добавление количества нового продукта зависит от количеств других. Скрипт
add_action( 'template_redirect', 'pro_gift', 9);
function pro_gift() {
if (is_cart()) {
if ( sizeof( WC()->cart->get_cart() ) > 0) {
$items_gift = WC()->cart->get_cart();
$product_id = 33103;
$product_ids = 33093;
$product_id_gift = 34462;
$product_id_size = 0;
$product_ids_size = 0;
$product_id_gift_size = 0;
$product_id_gift_item = '';
foreach($items_gift as $item_gift_k => $item_gift_v) {
if ($item_gift_v['product_id'] == $product_id ) {
$product_id_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_ids ) {
$product_ids_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_id_gift ) {
$product_id_gift_size = $item_gift_v['quantity'];
$product_id_gift_item = $item_gift_k;
}
}
//echo '';
if ($product_id_size > 0 && $product_ids_size > 0) {
$product_gift = min($product_id_size, $product_ids_size);
if ($product_gift > 0 && $product_id_gift_size == 0) {
WC()->cart->add_to_cart( $product_id_gift, $product_gift);
}
elseif ($product_gift > 0 && $product_id_gift_size > 0 && $product_id_gift_size < $product_gift) {
WC()->cart->set_quantity($product_id_gift_item, $product_gift);
}
}
}
}
}
< /code>
В дополнение к сценарию выше I, а затем перейдите, чтобы сделать новые продукты бесплатными на основе количества запрошенных < /p>
add_action( 'woocommerce_cart_calculate_fees', 'pro_gift_d', 10 );
function pro_gift_d() {
if (is_cart() || is_checkout()) {
if ( sizeof( WC()->cart->get_cart() ) > 0) {
$items_gift = WC()->cart->get_cart();
$product_id = 33103;
$product_ids = 33093;
$product_id_gift = 34462;
$product_id_size = 0;
$product_ids_size = 0;
$product_id_gift_size = 0;
$product_gift_line = 0;
foreach($items_gift as $item_gift_k => $item_gift_v) {
if ($item_gift_v['product_id'] == $product_id ) {
$product_id_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_ids ) {
$product_ids_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_id_gift ) {
$product_id_gift_size = $item_gift_v['quantity'];
$product_gift_line = $item_gift_v['line_total'] / $product_id_gift_size;
}
}
if ($product_id_size > 0 && $product_ids_size > 0 && $product_id_gift_size > 0) {
$product_gift = min($product_id_size, $product_ids_size);
$product_gift_discount = $product_gift_line * $product_gift;
WC()->cart->add_fee( __('PROMO PRODOTTO GRATUITO', 'woocommerce'), -$product_gift_discount);
}
}
}
}
< /code>
Эти сценарии, кажется, работают хорошо, он добавляет продукт в корзину, если есть два других продукта, и это делает это на основе их количества. , но, как уже говорилось, если бесплатный продукт еще не присутствует в телеге, и поэтому он добавляется с помощью этой части сценария «wc ()-> cart-> add_to_cart ($ product_id_gift, $ product_gift);», прокрутка прокрутки исчезает, и это невозможно навсегда. И как может быть улучшен код?
Большое спасибо! < /P>
Подробнее здесь: https://stackoverflow.com/questions/795 ... -scrollbar
Woocommerce добавьте бесплатный продукт, если в телеге есть другие продукты. Проблема исчезновения прокрутки, если беспл ⇐ Php
Кемеровские программисты php общаются здесь
1745410565
Anonymous
Этот скрипт считывает корзину, видит, что два продукта присутствуют, и добавляет еще один другой, отличный от других.
Добавление количества нового продукта зависит от количеств других. Скрипт
add_action( 'template_redirect', 'pro_gift', 9);
function pro_gift() {
if (is_cart()) {
if ( sizeof( WC()->cart->get_cart() ) > 0) {
$items_gift = WC()->cart->get_cart();
$product_id = 33103;
$product_ids = 33093;
$product_id_gift = 34462;
$product_id_size = 0;
$product_ids_size = 0;
$product_id_gift_size = 0;
$product_id_gift_item = '';
foreach($items_gift as $item_gift_k => $item_gift_v) {
if ($item_gift_v['product_id'] == $product_id ) {
$product_id_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_ids ) {
$product_ids_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_id_gift ) {
$product_id_gift_size = $item_gift_v['quantity'];
$product_id_gift_item = $item_gift_k;
}
}
//echo '';
if ($product_id_size > 0 && $product_ids_size > 0) {
$product_gift = min($product_id_size, $product_ids_size);
if ($product_gift > 0 && $product_id_gift_size == 0) {
WC()->cart->add_to_cart( $product_id_gift, $product_gift);
}
elseif ($product_gift > 0 && $product_id_gift_size > 0 && $product_id_gift_size < $product_gift) {
WC()->cart->set_quantity($product_id_gift_item, $product_gift);
}
}
}
}
}
< /code>
В дополнение к сценарию выше I, а затем перейдите, чтобы сделать новые продукты бесплатными на основе количества запрошенных < /p>
add_action( 'woocommerce_cart_calculate_fees', 'pro_gift_d', 10 );
function pro_gift_d() {
if (is_cart() || is_checkout()) {
if ( sizeof( WC()->cart->get_cart() ) > 0) {
$items_gift = WC()->cart->get_cart();
$product_id = 33103;
$product_ids = 33093;
$product_id_gift = 34462;
$product_id_size = 0;
$product_ids_size = 0;
$product_id_gift_size = 0;
$product_gift_line = 0;
foreach($items_gift as $item_gift_k => $item_gift_v) {
if ($item_gift_v['product_id'] == $product_id ) {
$product_id_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_ids ) {
$product_ids_size = $item_gift_v['quantity'];
}
if ($item_gift_v['product_id'] == $product_id_gift ) {
$product_id_gift_size = $item_gift_v['quantity'];
$product_gift_line = $item_gift_v['line_total'] / $product_id_gift_size;
}
}
if ($product_id_size > 0 && $product_ids_size > 0 && $product_id_gift_size > 0) {
$product_gift = min($product_id_size, $product_ids_size);
$product_gift_discount = $product_gift_line * $product_gift;
WC()->cart->add_fee( __('PROMO PRODOTTO GRATUITO', 'woocommerce'), -$product_gift_discount);
}
}
}
}
< /code>
Эти сценарии, кажется, работают хорошо, он добавляет продукт в корзину, если есть два других продукта, и это делает это на основе их количества. , но, как уже говорилось, если бесплатный продукт еще не присутствует в телеге, и поэтому он добавляется с помощью этой части сценария «wc ()-> cart-> add_to_cart ($ product_id_gift, $ product_gift);», прокрутка прокрутки исчезает, и это невозможно навсегда. И как может быть улучшен код?
Большое спасибо! < /P>
Подробнее здесь: [url]https://stackoverflow.com/questions/79588496/woocommerce-add-free-product-if-there-are-other-products-in-the-cart-scrollbar[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия