我已经设置了一些代码来使用PHP if语句触发的Javascript在WooCommerce购物车中调整一些内容,具体取决于购物车中的小计。我已成功使用以下代码来获取小计:
global $woocommerce;
$subt = $woocommerce->cart->subtotal;
不幸的是,也可以使用Ajax更新购物车,而无需重新加载页面,这意味着我的计算被抛弃了。
我认为我需要使用Ajax更新购物车总数,但我在网上看到的解决方案似乎更倾向于更复杂的解决方案,我找不到将其归结为只检索小计值的方法。
我真的很感激任何帮助。
答案 0 :(得分:0)
一种解决方案是使用Javascript添加查找购物车中的更改,如果有,则使用Ajax调用PHP函数。您可以在此处阅读如何操作:https://codex.wordpress.org/AJAX_in_Plugins
让我们说这是你的PHP函数:
add_action( 'wp_ajax_my_action', 'my_action' );
function my_action() {
global $wpdb;
$whatever = intval( $_POST['whatever'] );
$whatever += 10;
echo $whatever;
wp_die();
}
然后这将是你的JS脚本:
jQuery( document.body ).on( 'updated_cart_totals', function(){
var data = {
'action': 'my_action',
'whatever': ajax_object.we_value
};
jQuery.post(ajax_object.ajax_url, data, function(response) {
alert('Got this from the server: ' + response);
});
});