I m trying to update a custom price in checkout via a Woocommerce action hook. I m storing my dynamic price in Session variable. But when I used session variable in hook functions, it shows up on the checkout page while loading, once completely loaded, the price is set to 0
.
When I pass static value, it stays, whereas the dynamic value goes back to 0 after page completely loaded. AJAX is changing the custom price to 0. Is there any way I can pass dynamic value to hook function?
The function/hook I am using:
add_action( woocommerce_before_calculate_totals , custom_product_quantity_discounter , 10, 1 );
function custom_product_quantity_discounter( $cart ) {
if ( is_admin() && defined( DOING_AJAX ) )
return;
if ( did_action( woocommerce_before_calculate_totals ) >= 2 )
return;
// Loop through the cart items
foreach( $cart->get_cart() as $cart_item ){
$product_id = $cart_item[ product_id ];
$custom_price = $_SESSION["total"];
$cart_item[ data ]->set_price($custom_price);
}
}