开发者问题收集

在 Woocommerce 中,如果不重新加载,自定义购物车计数就不会更新

2018-08-25
10034

我有Ajax脚本升起的,但是我似乎无法在不刷新页面的情况下进行计数。

函数:

142643207 <

p> html:

826688218

我已经研究了问题,据我所知,篮子总数应该立即更新而没有刷新。

有人知道我在这里缺少什么吗?

1个回答

您的代码中存在一些错误和缺失。对于标题中的购物车商品计数,以下内容将解决问题。

1) header.php 文件中的 HTML 代码:

<ul>
    <li>
        <a href="/cart" id="cart_icon"></a>
    </li>
    <li>
        <span class="counter" id="cart-count"><?php
        $cart_count = WC()->cart->get_cart_contents_count();
        echo sprintf ( _n( '%d', '%d', $cart_count ), $cart_count );
        ?></span>
    </li>
    <li id="access"><?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?></li>
</ul>

2) 您相关的挂钩函数代码以启用购物车商品计数 Ajax 刷新

add_filter( 'woocommerce_add_to_cart_fragments', 'refresh_cart_count', 50, 1 );
function refresh_cart_count( $fragments ){
    ob_start();
    ?>
    <span class="counter" id="cart-count"><?php
    $cart_count = WC()->cart->get_cart_contents_count();
    echo sprintf ( _n( '%d', '%d', $cart_count ), $cart_count );
    ?></span>
    <?php
     $fragments['#cart-count'] = ob_get_clean();

    return $fragments;
}

代码进入您活动子主题(或活动主题)的 function.php 文件中。经过测试并且有效。


相关: 在 Woocommerce 中使用 Ajax 来计数购物车商品

LoicTheAztec
2018-08-25