在WooCommerce中通过Ajax将产品添加到购物车时获取购物车商品密钥

时间:2017-12-22 09:41:04

标签: ajax wordpress woocommerce cart product

我添加加减数量按钮添加到购物车按钮。虽然加号与ajax工作正常,add_to_cart按钮也正常工作。但问题是我需要{j}同时使用cart_item_key add_to_cart,因此用户可以减去购物车中的产品数量。

当我刷新页面时,减号按钮也适用于购物车中已添加的产品,但我不想刷新页面。

我刚试过这样的事情但没有工作。

add_filter('woocommerce_add_to_cart_fragments', 'custom_function');
function custom_function($fragments){ 
    global $woocommerce; 
    ob_start(); ?> 
    <a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"> 
        <?php foreach ( $woocommerce->cart->cart_contents as $cart_item_key => $cart_item ) {
            echo $cart_item_key; 
        } ?> 
    </a> 
    <?php $fragments['a.cart-contents'] = ob_get_clean(); 
    return $fragments; 
}

如果有人可以提供帮助吗?

谢谢

1 个答案:

答案 0 :(得分:1)

喜欢这个?

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;
    $arr = [];
    foreach ( $woocommerce->cart->cart_contents as $cart_item_key => $cart_item ) {
        $arr[$cart_item_key] = $cart_item['product_id'];
    }

    ob_start();

    get_template_part('template-parts/fooooo');

    $fragments['#header-cart-data'] = ob_get_clean();
    $fragments['#updated_ajax_cart'] = $arr;

    return $fragments;
}