Woocommerce中的Ajaxify标头购物车项目计数

Woocommerce中的Ajaxify标头购物车项目计数,第1张

Woocommerce中的Ajaxify标头购物车项目计数

您不应该使用任何重新加载* 来更新购物车的内容计数…而是应该使用 Ajax支持
的专用

woocommerce_add_to_cart_fragments
动作挂钩。
*

1)要刷新的HTML: 因此,首先应在主题

header.php
文件中将购物车计数嵌入具有定义的唯一ID(或类)的特定html标签中,例如:

?>    <div id="mini-cart-count"></div><?php

要么:

echo '<div id="mini-cart-count"></div>';

2)代码:

add_filter( 'woocommerce_add_to_cart_fragments', 'wc_refresh_mini_cart_count');function wc_refresh_mini_cart_count($fragments){    ob_start();    ?>    <div id="mini-cart-count">        <?php echo WC()->cart->get_cart_contents_count(); ?>    </div>    <?php        $fragments['#mini-cart-count'] = ob_get_clean();    return $fragments;}

如果您在html标记中使用类,则将替换

['#mini-cart-count']
['.mini-cart-count']
。该挂钩也用于刷新迷你购物车中的内容。

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。

由于几年以来

global $woocommerce;
+
$woocommerce->cart
已过时,取而代之的
WC()->cart
是访问WooCommerce购物车对象。


如果您需要jQuery强制刷新该计数,则可以尝试

wc_fragment_refresh
wc_fragments_refreshed
委派事件,例如:

$(document.body).trigger('wc_fragment_refresh');

要么:

$(document.body).trigger('wc_fragments_refreshed');


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5615135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存