Ich versuche, meinen Code zum Laufen zu bringen. Suche jetzt schon seit Stunden. Ich habe ähnliche Fragen wie diese gefunden. Aber leider scheint niemand eine Lösung zu finden.
In meinem benutzerdefinierten Plugin möchte ich einen bestimmten Artikel zum WC-Warenkorb hinzufügen und den Benutzer direkt zur Kasse weiterleiten. Als eingeloggter Benutzer funktioniert es wie ein Zauber, aber für Gäste zeigt es eine leere Seite an der Kasse (der Shortcode woocommerce_checkout scheint in diesem Fall nichts zurückzugeben). Also habe ich mir eine Überprüfung ausgedacht, ob der Wagen leer ist. Anscheinend liegt es daran, dass auf der “Warenkorb-Seite” “Es befinden sich noch keine Artikel im Warenkorb” angezeigt wird.
Im Code überprüfe ich, ob der Warenkorb noch leer ist, aber es sagt mir, dass es nicht so ist!
Hier ist mein Code:
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
Der Code läuft ohne Fehler. Und es funktioniert zu 100% als eingeloggter User/Admin. Nur nicht als Gast, obwohl ich den Gast-Checkout in den WooCommerce-Einstellungen erlaubt habe.
Heyja, es ist wahrscheinlich nichts falsch mit dem Code. Als angemeldeter Benutzer funktioniert es einwandfrei. Es ist nur die Funktion add_to_cart von WooCommerce, die ein Problem zu verursachen scheint, nachdem ein Artikel zum Warenkorb hinzugefügt wurde, wenn kein angemeldeter Benutzer vorhanden ist.
– xDrago
21. November 2018 um 22:38 Uhr
Wow ja, es funktioniert! Vielen Dank, du bist mein Mann! Können Sie erklären, was los ist?
– xDrago
21. November 2018 um 23:34 Uhr
Oh, ich habe festgestellt, dass mein Admin-Bereich nicht mehr funktioniert, wenn ich Ihren Code hinzufüge. HTTP 500-Fehler.
– xDrago
21. November 2018 um 23:44 Uhr