在Javascript中获取WooCommerce购物车小计

问题描述 投票:0回答:1

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

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

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

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

我真的很感激任何帮助。

javascript php wordpress woocommerce
1个回答
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);
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.