在WooCommerce中使用AJAX调用Calculate_Shipping() 时间:2018-08-08 作者:Jorgen 我正在创建一种发货方法,客户可以选择发货时间。可以在产品页面、购物车和结帐上进行选择。选中后,它将使用ajax更新会话值。然而,问题是,如果时间改变,我需要重新计算购物车上的配送和结帐,但woocommerce不计算配送,除非在购物车中添加或删除项目。如果我刷新页面,它甚至不会重新计算,我必须手动更改购物车的内容才能启动。有什么建议吗? 2 个回复 SO网友:user164084 我在创建发货方法时也遇到了同样的问题,我所做的是在ajax调用的函数上添加一些东西,只是为了在购物车上进行更新:global $woocommerce; $packages = $woocommerce->cart->get_shipping_packages(); foreach( $packages as $package_key => $package ) { $session_key = \'shipping_for_package_\'.$package_key; $stored_rates = WC()->session->__unset( $session_key ); } SO网友:djboris 请尝试在需要的地方添加:WC()->cart->calculate_shipping(); WC()->cart->calculate_totals(); 这就是WooCommerce在自己的Ajax调用中处理它的方式。我在WC_Ajax::update_order_review() (class-wc-ajax.php:354). 结束 文章导航