在 WooCommerce 中获取 AJAX 更新后的总价格,可以通过以下步骤实现:
// 使用 AJAX 更新购物车
$.ajax({
url: wc_cart_fragments_params.ajax_url,
type: 'POST',
data: {
action: 'woocommerce_get_refreshed_fragments'
},
success: function(response) {
// 从响应中获取更新后的总价格
var totalPrice = response.fragments['div.widget_shopping_cart_content'].replace(/<(?:.|\n)*?>/gm, '');
// 在页面上显示更新后的总价格
$('#total-price').text(totalPrice);
}
});
在上面的代码中,我们使用了 WooCommerce 提供的 woocommerce_get_refreshed_fragments
动作来获取 AJAX 更新后的购物车片段。然后,我们从响应中提取了更新后的总价格,并将其显示在页面上的 #total-price
元素中。
functions.php
文件中添加以下代码:// 处理 AJAX 请求并返回购物车片段
function custom_woocommerce_get_refreshed_fragments() {
ob_start();
woocommerce_mini_cart();
$fragments['div.widget_shopping_cart_content'] = ob_get_clean();
echo json_encode($fragments);
die();
}
add_action('wp_ajax_woocommerce_get_refreshed_fragments', 'custom_woocommerce_get_refreshed_fragments');
add_action('wp_ajax_nopriv_woocommerce_get_refreshed_fragments', 'custom_woocommerce_get_refreshed_fragments');
在上面的代码中,我们定义了一个名为 custom_woocommerce_get_refreshed_fragments
的函数,该函数使用 woocommerce_mini_cart
函数来获取购物车片段的 HTML 内容。然后,我们将购物车片段作为 JSON 响应返回。
通过以上步骤,你就可以在 WooCommerce 中获取 AJAX 更新后的总价格了。请注意,以上代码仅提供了一个基本的示例,你可能需要根据你的具体需求进行适当的修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云