我正在尝试向woocommerce微型购物车添加数量字段。 1.我已将其添加到wooocommerce mini-cart.php文件中:
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
sprintf( '<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s add_to_cart_button">%s</a>',
esc_url( $_product->add_to_cart_url() ),
esc_attr( isset( $quantity ) ? $quantity : 1 ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() ),
esc_attr( isset( $class ) ? $class : 'button' ),
esc_html( $_product->add_to_cart_text() )
),
$_product );
这将在输入的数量周围添加加号和减号按钮。
当点击加号按钮时:我已经简单地调用了该产品的购物车,因此数量增加了1。这很好。
$(document).on('click', '.woocommerce-mini-cart .plus', function(){
$(this).closest('form.cart').find('a.add_to_cart_button').click();
});
问题:当单击减号按钮时:我正试图确定如何更改该产品的购物车数量。 我尝试调用ajax以获取WC()-> cart()并更改其中的值,但它返回空数组。
$(document).on('click', '.woocommerce-mini-cart .minus', function(){
var data = {
'product_id': 1234,
'action': 'update_cart_qty'
};
jQuery.post('<?php echo admin_url('admin-ajax.php'); ?>', data, function(response) {
alert('Got this from the server: ' + response);
});
});
add_action( 'wp_ajax_update_cart_qty', 'func_update_cart_qty' );
add_action( 'wp_ajax_nopriv_update_cart_qty', 'func_update_cart_qty' );
function func_update_cart_qty(){
print_r(WC()->cart->get_cart()); // <- Empty Array
}
有人可以指导如何获得这项工作吗?