在Javascript中获取WooCommerce购物车小计

时间:2018-03-06 18:17:25

标签: javascript php wordpress woocommerce

我已经设置了一些代码来使用PHP if语句触发的Javascript在WooCommerce购物车中调整一些内容,具体取决于购物车中的小计。我已成功使用以下代码来获取小计:

global $woocommerce;
$subt = $woocommerce->cart->subtotal;

不幸的是,也可以使用Ajax更新购物车,而无需重新加载页面,这意味着我的计算被抛弃了。

我认为我需要使用Ajax更新购物车总数,但我在网上看到的解决方案似乎更倾向于更复杂的解决方案,我找不到将其归结为只检索小计值的方法。

我真的很感激任何帮助。

1 个答案:

答案 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);
    });
});