我有一个使用Divi主题的wordpress网站。当我更新购物车中的商品数量时,标题上的迷你购物车没有相应地更新。然而,在重新加载页面时,迷你购物车中的项目数量会得到更新。
Divi正在使用以下函数更新购物车,
if ( ! function_exists( \'et_show_cart_total\' ) ) {
function et_show_cart_total( $args = array() ) {
if ( ! class_exists( \'woocommerce\' ) || ! WC()->cart ) {
return;
}
$defaults = array(
\'no_text\' => false,
);
$args = wp_parse_args( $args, $defaults );
$items_number = WC()->cart->get_cart_contents_count();
$url = function_exists( \'wc_get_cart_url\' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
printf(
\'<a href="%1$s" class="et-cart-info">
<span>%2$s</span>
</a>\',
esc_url( $url ),
( ! $args[\'no_text\']
? esc_html( sprintf(
_nx( \'%1$s Item\', \'%1$s Items\', $items_number, \'WooCommerce items number\', \'Divi\' ),
number_format_i18n( $items_number )
) )
: \'\'
)
);
}
}
如何通过ajax调用更新购物车中的商品数量来更新迷你购物车?
请问有人能帮忙吗?
最合适的回答,由SO网友:devgeek 整理而成
我通过在函数中添加以下内容修复了此问题。php:
add_filter( \'woocommerce_add_to_cart_fragments\', \'your_custom_functions\', 10, 1 );
function your_custom_functions( $fragments ) {
$fragments[\'.your_cart_class\'] = \'\' . WC()->cart->get_cart_contents_count() . \' Items\';
return $fragments;
}