结帐和购物车页面的woocommerce更改价格

Han*_*ane 3 php wordpress checkout woocommerce hook-woocommerce

通过woocommerce,在我的网站中,我想在购物车页面中添加一个选择输入,用户可以在两个选项之间选择一个值,并根据此值我将更改价格.

到目前为止,我可以获得总数并使用此更改它:

function action_woocommerce_before_cart_totals(  ) { 
 global $woocommerce;

 $woocommerce->cart->total  = $woocommerce->cart->total*0.25;
   var_dump( $woocommerce->cart->total);}; 
Run Code Online (Sandbox Code Playgroud)

问题是,当我去结账页面时,它不会计算在functions.php中计算的总数

谢谢你的帮助.

Loi*_*tec 6

您也可以同时使用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);
}
Run Code Online (Sandbox Code Playgroud)

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中.

此代码经过测试和运行.