Получите общую сумму тележек woocommerce


Я пытаюсь применить скидку к общей цене тележки, но я могу сделать это только по базовой цене товара, а не по общей цене. Я погуглил и наткнулся на этот пост в wordpress stackoverflow:

$сумма =плавающее значение(preg_replace('#[^\д.]#', ", $woocommerce->корзина->get_cart_total())); preg_replace устраняет все, кроме десятичных знаков и двоеточий.

Если вы хотите выполнить с ним математические вычисления, floatval преобразует значение от строки к числовому.

Я попытался добавить:

$amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );

И изменение

$discount = round( (($discounting_amount / 100 ) *  $this->amount)*-1, WC()->cart->dp);

До

$discount = round( (($discounting_amount / 100 ) *  $amount2)*-1, WC()->cart->dp);

Но я получаю следующую ошибку:

Fatal error: Call to a member function get_cart_total() on a non-object in...
Author: Community, 2014-03-07

7 answers

Вам нужно вызвать глобальную переменную, чтобы убедиться, что она получает правильные значения.

Если вы добавите

 global $woocommerce;

Непосредственно перед

 $amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );

Это должно решить вашу проблему.

 20
Author: Ronan, 2014-03-07 13:04:48

Попробуйте это:

WC()->cart->cart_contents_total

Функция get_cart_total использует функцию wc_price, которая преобразует cart_contents_total в валюту.

 18
Author: zennin, 2014-05-26 12:18:19

Это отлично работает и удаляет символ валюты:

     $woocommerce->cart->total;
 6
Author: Muvans, 2014-07-26 09:22:14

Это также хорошо работает.

WC()->cart->total

 6
Author: colapsnux, 2015-10-01 20:14:32
global $woocommerce;
    $amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total;

Вы также можете конвертировать сумму в долларах в плавающее значение в соответствии с вашими требованиями.

 4
Author: Deepak Kumar, 2016-04-13 06:05:09

Чтобы показать общее количество тележек, включая налоги и скидки, используйте это

$ordertotal = wp_kses_data( WC()->cart->get_total() );
 1
Author: typocoder, 2016-05-25 00:37:33

$totalamount = $woocommerce->корзина->корзина_контентс_тотал;

Эхо $общее количество;

 0
Author: mital korat, 2018-08-16 12:19:13