Haga que el método add_to_cart WC_Cart funcione para invitados en Woocommerce

Estoy intentando que mi código funcione. Buscando por horas ahora. Encontré preguntas similares comoést. Pero desafortunadamente nadie parece encontrar una solución.

En mi complemento personalizado, quiero agregar un artículo específico al carrito de WC y redirigir al usuario directamente al pago. Como usuario conectado, funciona de maravilla, pero para los invitados muestra una página en blanco al finalizar la compra (woocommerce_checkout shortcode parece no devolver nada en este caso). Así que se me ocurrió comprobar si el carrito está vacío. Aparentemente es porque la "página del carrito" muestra "Todavía no hay artículos en el carrito".

En el código, compruebo si el carrito todavía está vacío, ¡pero me dice que no!

Aquí está mi código:

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

El código se ejecuta sin errores. Y funciona al 100% como usuario / administrador conectado. Simplemente no como invitado, incluso aunque permití que el invitado finalizara la compra en la configuración de woocommerce.

Respuestas a la pregunta(1)

Su respuesta a la pregunta