2016-04-18 10 views
3

カート内の製品の行合計を編集しようとしています。しかし何らかの理由で出力が更新されていません。ここで私が持っているものです。woocommerce回線の合計を編集する

$value['data']->priceを更新
foreach ($woocommerce->cart->get_cart() as $key => $value) { 
    $value['data']->price = 10; 
    $value['line_total'] = 1; 
    $value['line_subtotal'] = 1; 
} 

、正常に動作します。しかし、$value['line_total']または$value['line_subtotal']を試して更新すると、出力は同じになります。

アイデア?

答えて

1

変更$value['line_total']または$woocommerce->cart_contents[ $key ]['line_total']および/または$woocommerce->cart_contents[ $key ]['line_subtotal']から$value['line_subtotal']

あなたはまた、単にカート合計の計算を変更します $woocommerce->cart_contents_total

これらの変数の値をオーバーライドすることによって、総カートの内容を変更することがあり

が、カートのマークアップにも反映したい場合は、フックすることができます'woocommerce_cart_product_subtotal'

add_filter('woocommerce_cart_product_subtotal', 'modify_cart_product_subtotal', 10, 4); function modify_cart_product_subtotal($product_subtotal, $product, $quantity, $cart) { // Add your logic here. // You can use the $cart instead of using the global $woocommerce variable. return $product_subtotal; }

詳しくは、

WC_Cartのドキュメントを参照してください。
関連する問題