цена изменения woocommerce в кассе и картинной странице

С помощью woocommerce на моем веб-сайте я хотел бы добавить на страницу корзины вход для выбора, где пользователь может выбрать значение между двумя параметрами, и в зависимости от этого значения я изменю цену.

до сих пор я мог получить общее количество и изменить его, используя это:

function action_woocommerce_before_cart_totals( ) { global $woocommerce; $woocommerce->cart->total = $woocommerce->cart->total*0.25; var_dump( $woocommerce->cart->total);}; 

Проблема в том, что когда я перехожу на страницу проверки, она не принимает итоговое значение, вычисленное в functions.php

Спасибо за помощь.

Вы можете одновременно использовать woocommerce_review_order_before_order_total , чтобы отобразить свою таможенную цену в кассе, таким образом:

 add_action( 'woocommerce_review_order_before_order_total', 'custom_cart_total' ); add_action( 'woocommerce_before_cart_totals', 'custom_cart_total' ); function custom_cart_total() { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; WC()->cart->total *= 0.25; //var_dump( WC()->cart->total); } 

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

Этот код проверен и работает.

Платежный шлюз всегда использует переменную $ order-> get_total () для получения общей суммы корзины. Поэтому, чтобы настроить этот фильтр woocommerce_order_amount_total для вашей функции, выполните следующие действия. Ваш платежный шлюз всегда показывает общую сумму, которую вы настраиваете.

 add_filter( 'woocommerce_order_amount_total', 'custom_cart_total' ); function custom_cart_total($order_total) { return $order_total *= 0.25; }