Есть сайт, под который разрабатывалась тема, и тестировалась она всегда авторизованными пользователями. То есть у авторизованного пользователя всё работает. А вот если не авторизоваться то товары не добавляются в корзину, то есть он туда попадает но если перейти на любую другую страницу то корзина пустая, а если добавить другой товар, то в корзине будет лежать только он один.
Код который добавляет товар в корзину:
if (isset($_POST['product']) && !empty($_POST['product'])) {
$product_id = $_POST['product']['id'];
$quantity = $_POST['product']['quantity'];
WC()->cart->add_to_cart($product_id, $quantity);
}
if (isset($_POST['product_update']) && !empty($_POST['product_update'])) {
$product_key = $_POST['product_update']['key'];
$quantity = $_POST['product_update']['quantity'];
WC()->cart->set_quantity($product_key, $quantity);
}
if (isset($_POST['product_remove']) && !empty($_POST['product_remove'])) {
$product_key = $_POST['product_remove'];
WC()->cart->remove_cart_item($product_key);
}