Woocommerce: запустить функцию PHP при обновлении корзины - PullRequest
0 голосов
/ 04 ноября 2019

Я хочу отобразить на своей странице корзины WooCommerce сообщение, в котором сообщается моим клиентам, сколько им нужно приобрести, чтобы получить бесплатный подарок.

Я уже получил следующий код, который работает, но у меня естьодна проблема.

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

    <?php $e_cart = WC()->cart->cart_contents_total * 1.25;?>
    <?php $e_cart_remaining = 300 - $e_cart; ?>

    <?php
        if ( $e_cart < 300 ) {
            echo "Get a free gift, when you purchase for ${e_cart_remaining} more.";
        }?>

Так что проблемав том случае, если у покупателя в корзине есть товар на 250, в сообщении будет указано: «Купите еще 50, чтобы получить бесплатный подарок». ( Потому что вы получите бесплатный подарок на 300 ). Но если они изменяют количество одного из продуктов, в тексте все равно написано 50. ( Поскольку страница не обновлена ​​)

Как мне запускать этот скрипт или блок кода каждый раз, когдакорзина обновлена?

Большое спасибо.

1 Ответ

0 голосов
/ 04 ноября 2019

Чтобы отобразить пользовательское сообщение на странице корзины в зависимости от суммы корзины, используйте следующее:

// On cart page only
add_action( 'woocommerce_check_cart_items', 'custom_total_item_quantity_message' );
function custom_total_item_quantity_message() {
  $e_cart = WC()->cart->cart_contents_total * 1.25;
  $e_cart_remaining = 300 - $e_cart; 

    if( is_cart() &&  $e_cart < 300  ){
        wc_print_notice( sprintf( __("Get a free gift, when you purchase for %s more.", "woocommerce"), $e_cart_remaining ), 'notice' );
    }
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...