我正在使用此功能以编程方式向购物车添加产品变体。
function add_to_cart($product_id, $variation_id, $variation_data) {
global $woocommerce;
$quantity = $variation_data["article_quantity"];
$count = WC()->cart->get_cart_contents_count();
echo "<br> Count : " .$count;
WC()->cart->add_to_cart( $product_id, $quantity, $variation_id );
$new_count = WC()->cart->get_cart_contents_count();
echo "<br> New count : " .$new_count;
if ($new_count == $count + 1 ) {
echo "<br> Product added";
} else {
echo "<br> Can't add product";
}
}
此函数添加的所有变体都可以通过编程成功创建并且可以正常工作。
问题是由于某种原因,此功能并非每次都以相同的方式起作用。 在同一用户会话中(检查所有会话和cookie),有时成功添加了版本,有时我得到了一个空购物车,有时它向我显示了10分钟前删除的购物车(可能是会话缓存/已停用/但仍然有相同的问题)。
当我尝试使用“添加到购物车”按钮添加刚刚以编程方式创建的变体时,所有作品都可以使用。没有任何问题。这意味着该变体及其所有元数据都已存在并与父产品建立了良好的联系。
有人可以告诉我我在这里想念的吗? 我不是开发人员。
预先感谢您:)