我正在开发一个与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');
感谢。
答案 0 :(得分:0)
你必须在另一个钩子中执行它,在计算总数后将覆盖一个钩子,你必须在woocommerce_before_calculate_totals
钩子中进行,所以将add_action
调用更改为:
add_action( 'woocommerce_before_calculate_totals', 'action_woocommerce_review_order_after_submit' );