更新自定义价格woocommerce

时间:2016-09-07 12:43:22

标签: wordpress woocommerce checkout cart

我正在开发一个与WooCommerce一起使用的插件,需要在结帐页面提交订单后更新自定义价格。

问题:有可能吗?

我尝试过:

header('Location: http://myweb.com/?add-to-cart=477');

// define the woocommerce_review_order_after_submit callback 
function action_woocommerce_review_order_after_submit(  ) { 

    $custom_price = 10; // This will be your custome price  
    $target_product_id = 477;
    foreach ( $cart_object->cart_contents as $value ) {
        if ( $value['product_id'] == $target_product_id ) {
            $value['data']->price = $custom_price;
        }
    }
}
     
// add the action 
add_action( 'woocommerce_review_order_after_submit',     
'action_woocommerce_review_order_after_submit');

感谢。

1 个答案:

答案 0 :(得分:0)

你必须在另一个钩子中执行它,在计算总数后将覆盖一个钩子,你必须在woocommerce_before_calculate_totals钩子中进行,所以将add_action调用更改为:

add_action( 'woocommerce_before_calculate_totals', 'action_woocommerce_review_order_after_submit' );