我使用Woocommerce插件来促进网站的一小部分电子商务,需要通过一些调用或功能将产品添加到购物车,而不是使用自己的“添加到购物车”按钮。
我的基本意思是向Woocommerce发送SKU和数量,并更新购物车。
sendToCart(\'123456\', 55);
等我查看了文档,似乎找不到这类事情的参考。有人能建议我如何做到这一点吗?
我使用Woocommerce插件来促进网站的一小部分电子商务,需要通过一些调用或功能将产品添加到购物车,而不是使用自己的“添加到购物车”按钮。
我的基本意思是向Woocommerce发送SKU和数量,并更新购物车。
sendToCart(\'123456\', 55);
等我查看了文档,似乎找不到这类事情的参考。有人能建议我如何做到这一点吗?
好的,下面是我最后是如何解决的。一个快速而肮脏的示例使用JQuery。
<a id="buy" href="#">Buy this!</a>
<script>
$(\'#buy\').click(function(e) {
e.preventDefault();
addToCart(19);
return false;
});
function addToCart(p_id) {
$.get(\'/wp/?post_type=product&add-to-cart=\' + p_id, function() {
// call back
});
}
</script>
这只是向购物车url发出AJAX GET请求/wp/?post_type=product&add-to-cart=[PRODUCT_ID]
在PHP中,我是这样做的:
global $woocommerce;
$woocommerce->cart->add_to_cart($product_id);
该方法位于woocommerce/classes/class wc cart中。php: /**
* Add a product to the cart.
*
* @param string $product_id contains the id of the product to add to the cart
* @param string $quantity contains the quantity of the item to add
* @param int $variation_id
* @param array $variation attribute values
* @param array $cart_item_data extra cart item data we want to pass into the item
* @return bool
*/
public function add_to_cart( $product_id, $quantity = 1, $variation_id = \'\', $variation = \'\', $cart_item_data = array() ) {