我正在使用来自themeforest的可列表主题,它有列表页面。在下面的列表中,每当我点击它时,都会有添加到购物车按钮。它在购物车中增加了2个数量。
假设我有0个数量,它会将2个选定产品的数量添加到购物车。如果我有2个数量并且我再次加入购物车,我会得到4个数量。
我能够追踪的代码是:
WC()->cart->add_to_cart( $_POST['add-to-cart'],$_POST['quantity']);
ob_clean();
ob_start();
wp_redirect( "http://website.com/cart/" );
exit();
以上代码仅适用于POST请求。我试着改成这样的东西:
$_product_id = $_POST['add-to-cart'];
$_cart_items = WC()->cart->get_cart();
$_found_item = false;
if( count($cart_items) > 0 ){
foreach ($cart_items as $value) {
if( $value->product_id == $product_id )
{
$_found_item = true;
break;
}
}
if(!$_found_item){
WC()->cart->add_to_cart( $_product_id );
}
}else{
WC()->cart->add_to_cart( $_product_id );
}
wp_redirect( "http://website.com/cart/" );
exit();
但是,在购物车页面上,它每次都会更新数量2。我想解决这个问题,一次添加1个数量。我还应该在代码中查看其他内容吗?