将产品变化添加到购物车(Woocommerce)

时间:2014-08-19 05:39:47

标签: php ajax wordpress woocommerce

我正在试图弄清楚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。抱歉我的英文。

0 个答案:

没有答案