Я пытаюсь заставить мой код работать.Ищу часы сейчас.Я нашел похожие вопросы, как этот .Но, к сожалению, похоже, никто не нашел решения.
В своем пользовательском плагине я хочу добавить определенный элемент в корзину WC и перенаправить пользователя прямо к оформлению заказа.Как вошедший в систему пользователь работает как брелок, но для гостей он показывает пустую страницу при оформлении заказа (шорткод woocommerce_checkout, похоже, ничего не возвращает в этом случае).Поэтому я пришла с проверкой, если корзина пуста.Видимо, это потому, что «страница корзины» показывает «В корзине еще нет товаров».
В коде я проверяю, пуста ли корзина, но говорит, что нет!
Вот мой код:
if(!$wooID = $wpdb->get_var("SELECT wooID FROM ".$wpdb->prefix."ceb_events WHERE id = $event")) die("ERROR GETTING WOOID");
WC()->cart->empty_cart();
if(!WC()->cart->add_to_cart( $wooID, 1 )) die("CART GOT NOT UPDATED. THERE IS AN ERROR 1.");
if(WC()->cart->get_cart_contents_count() == 0) die("CART GOT NOT UPDATED. THERE IS AN ERROR 2.");
//Here follows the redirect to checkout page
Код работает без ошибок.И это работает на 100% как зарегистрированный пользователь / администратор.Только не в качестве гостя, даже если я разрешил выезд гостя в настройках woocommerce.