我正在试图弄清楚woocommerce如何通过网址将产品变化添加到购物车中。 我使用以下代码在主页上打印出购物车:
echo do_shortcode("[woocommerce_cart]");
我有一个多步属性选择。因此,我们的想法是,当用户点击最后一步中的属性按钮时,应通过ajax将产品变体添加到购物车中:
$(document).on('click', '#step-4 input', function() {
$.ajax({
type: 'POST',
url: 'http://example.org/?add-to-cart=456',
success: function(data) {
$('#cart-section').replaceWith($(data).find('#cart-section'));
}
});
});
我找到了这篇文章,指的是: http://example.org/cart/?add-to-cart=123&variation_id=456&attribute_pa_colour=black
但由于某种原因,它根本不适用于我。 什么是工作是'/?add-to-cart = 456',但在这种情况下是$ cart_item数组,在cart.php模板中使用:
foreach ( WC()->cart->get_cart() as $cart_item_key => **$cart_item** ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], **$cart_item**, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], **$cart_item**, $cart_item_key );
包含带有键['variation']的空字符串,但['variation']应该是在get_item_data()方法(cart.php模板)中使用它的数组的键:
echo WC()->cart->get_item_data( $cart_item ).
你能给我任何建议吗?
P.S。抱歉我的英文。