Das punchout.dev-Plugin für WooCommerce gibt das Script-Tag aus, markiert den Block-Warenkorb und den klassischen Warenkorb für punchout.dev und meldet Punchout-Einkäufer in ihrem WordPress-Konto an.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“| Voraussetzung | Wert |
|---|---|
| PHP | 8.1 oder neuer, mit sodium |
| WordPress | 6.5 oder neuer |
| WooCommerce | 8.0 oder neuer |
| Plugin | punchout-dev, Version 2.0.0, keine Composer-Abhängigkeiten |
| Download | punchout-dev-<version>.zip aus dem Tab Einbindung des Shops im Portal (Shopsystem: WooCommerce) |
Installieren
Abschnitt betitelt „Installieren“- Laden Sie das Plugin im Tab Einbindung des Portals herunter.
- Öffnen Sie im WordPress-Backend Plugins, fügen Sie über Plugin hochladen ein neues Plugin hinzu, wählen Sie die Zip-Datei, installieren und aktivieren Sie es.
Alternativ entpacken Sie die Datei nach wp-content/plugins, wo der Ordner wp-content/plugins/punchout-dev entsteht, und aktivieren das Plugin in der Plugin-Liste.
Bei der Aktivierung legt das Plugin eine Tabelle für die Einmal-Login-Tokens und zwei Optionen an, punchout_dev_settings und punchout_dev_db_version. Beim Deaktivieren bleiben sie erhalten, beim Löschen des Plugins verschwinden alle drei.
Konfigurieren
Abschnitt betitelt „Konfigurieren“Öffnen Sie WooCommerce → punchout.dev. Die Seite ist englisch und erfordert die Berechtigung manage_options; die Tabelle nennt die Beschriftung jeder Einstellung in Klammern.
| Einstellung | Wert |
|---|---|
| Snippet einbinden (Embed the snippet) | An (Standard). Bei Aus wird kein Script-Tag ausgegeben. |
| Snippet-URL (Snippet URL) | https://js.punchout.dev/pob.js, aus dem Tab Einbindung des Portals. Bleibt das Feld leer, wird nichts ausgegeben. |
| API-Basis-URL, optional (API base URL) | Leer lassen. |
| Auto-Login aktivieren (Enable auto-login) | An (Standard). |
| Shop-ID (Shop ID) | Die Shop-ID aus dem Tab Einbindung des Portals. Wird auch als data-shop-id am Script-Tag ausgegeben. |
| Public-Key-Zeilen (Public key lines) | Jede Zeile aus dem Tab Auto-Login des Portals, Abschnitt Öffentliche Schlüssel, eine je Zeile. Zeilen, die mit # beginnen, und leere Zeilen werden ignoriert. |
Der Abschnitt Auto-login der Seite zeigt drei Statuszeilen:
- Login path (enter it on the portal’s Auto-login tab): der genaue REST-Pfad dieser Installation, einschließlich Unterverzeichnis.
- Configured key ids: die Schlüssel, die das Plugin aus den Public-Key-Zeilen lesen konnte, oder „none“, wenn jeder Login auf einen Gast-Punchout zurückfallen würde.
- Single-use token table: „present“ oder „MISSING“. Fehlt die Tabelle, deaktivieren und aktivieren Sie das Plugin einmal.
Das Script-Tag steht im Footer jeder Frontend-Seite (wp_footer).
Was das Plugin markiert
Abschnitt betitelt „Was das Plugin markiert“| Warenkorb | Wie er markiert wird |
|---|---|
Block-Warenkorb (woocommerce/cart) |
Der ganze Block wird mit <div data-punchout-cart> umschlossen |
Klassischer Warenkorb (Shortcode [woocommerce_cart]) |
Die Warenkorb-Tabelle wird umschlossen: die Positionen und ihre Spaltenköpfe. Die Warenkorbsummen und der Checkout-Button bleiben außerhalb. |
Der Mini-Warenkorb, der Checkout und die Bestellbestätigungsseite werden nie markiert.
Der Block-Warenkorb wird im Browser gerendert
Abschnitt betitelt „Der Block-Warenkorb wird im Browser gerendert“Der Block-Warenkorb kommt als leere Hülle an; WooCommerce füllt die Positionen erst nach dem Laden der Seite per JavaScript ein. Das Script-Tag liest den Warenkorb deshalb erst, wenn er fertig geladen ist, im Punchout wie im Setup-Modus. Ein leerer Warenkorb ist ein normaler Zustand.
Auto-Login
Abschnitt betitelt „Auto-Login“Das Plugin registriert die REST-Route GET /wp-json/punchout-dev/v1/login?token=…. Eine Installation in einem Unterverzeichnis stellt ihren eigenen Pfad voran, zum Beispiel /shop/wp-json/punchout-dev/v1/login. Die Einstellungsseite zeigt den genauen Pfad.
Richten Sie die Portalseite im Tab Auto-Login des Shops ein:
| Portalfeld | Wert |
|---|---|
| Adapter | WooCommerce |
| Login-Pfad | Der Pfad von der Einstellungsseite des Plugins |
| Kundenreferenz | Siehe die Tabelle unten |
WooCommerce hat keine eigene Kundennummer. Die drei Arten werden so zugeordnet:
| Kundenreferenz | Abgeglichen mit |
|---|---|
| E-Mail-Adresse (empfohlen) | Die E-Mail-Adresse des WordPress-Benutzers |
| Kundennummer | Der WordPress-Anmeldename |
| Kunden-ID | Die numerische WordPress-Benutzer-ID |
Tragen Sie dann im Tab Einkäufer für jeden Einkäufer-Zugang die Shop-Kundenreferenz ein.
Bei Erfolg setzt das Plugin die WordPress-Anmeldung und löst wp_login aus; darüber führt WooCommerce den Gast-Warenkorb mit dem gespeicherten Warenkorb des Kunden zusammen. Bei jedem Fehler leitet das Plugin den Einkäufer als Gast auf die Landing-Seite weiter, nie auf eine Fehlerseite und nie auf wp-login.php.
Das Plugin leitet unverändert auf den Landing-Pfad weiter und setzt das Unterverzeichnis nicht davor. Setzen Sie den Landing-Pfad im Tab Allgemein auf den vollständigen Warenkorbpfad, zum Beispiel /cart/, oder /shop/cart/ bei einer Installation im Unterverzeichnis.
Der vollständige Ablauf steht auf der Seite Auto-Login.
Setup-Selbsttest
Abschnitt betitelt „Setup-Selbsttest“- Erzeugen Sie im Tab Einrichtung des Shops im Portal einen Setup-Link (standardmäßig 60 Minuten gültig).
- Legen Sie 2 oder 3 verschiedene Produkte in den Warenkorb.
- Öffnen Sie die Warenkorbseite mit dem Setup-Link und klicken Sie auf Warenkorb erkennen.
Ist das Plugin aktiv, nennt das Ergebnis die Quelle Shop-Plugin. Bestätigen Sie mit Ja, passt. Damit sind Marker und Shop-ID bestätigt, und der Schritt Warenkorb erkannt im Portal ist erledigt.
Aktualisieren
Abschnitt betitelt „Aktualisieren“Laden Sie die neue Zip-Datei aus dem Tab Einbindung herunter, laden Sie sie wie bei der Installation hoch und lassen Sie WordPress die installierte Version ersetzen. Entpacken Sie die Datei stattdessen über den alten Ordner, überspringt WordPress den Aktivierungsschritt. Das Plugin prüft dann beim nächsten Aufruf seine gespeicherte Tabellenversion und legt die Tabelle selbst an, wenn sich die Version geändert hat. Ob die Tabelle da ist, zeigt die Einstellungsseite.
Umstieg von punchout-ninja 1.x
Abschnitt betitelt „Umstieg von punchout-ninja 1.x“WordPress installiert 2.0.0 als neues Plugin: Deaktivieren und löschen Sie zuerst das alte Plugin punchout-ninja und betreiben Sie nie beide. Tragen Sie die Einstellungen aus dem Portal neu ein und ändern Sie den Login-Pfad im Tab Auto-Login des Portals auf /wp-json/punchout-dev/v1/login, mit dem Präfix des Unterverzeichnisses, falls es eines gibt.
Fehlersuche
Abschnitt betitelt „Fehlersuche“| Symptom | Ursache | Lösung |
|---|---|---|
| Das Setup-Panel meldet Voreinstellung statt Shop-Plugin | Die Warenkorbseite nutzt weder den Warenkorb-Block noch den Shortcode [woocommerce_cart], oder ein Seiten-Cache liefert eine ältere Kopie aus |
Nutzen Sie den Warenkorb-Block oder den Shortcode und leeren Sie den Seiten-Cache |
| Auto-Login bewirkt nichts, der Einkäufer kauft als Gast ein | Auto-Login aktivieren ist aus, oder Shop-ID oder Public-Key-Zeilen sind falsch | Vergleichen Sie Configured key ids mit dem Abschnitt Öffentliche Schlüssel im Portal und die Shop-ID mit dem Tab Einbindung |
| Der Einkäufer landet auf einer Fehlerseite statt im Shop | Der Login-Pfad im Portal passt nicht zur Route, zum Beispiel fehlt das Unterverzeichnis | Kopieren Sie den Login-Pfad von der Einstellungsseite in den Tab Auto-Login des Portals |
| Single-use token table zeigt „MISSING“ | Der Aktivierungsschritt lief nicht | Deaktivieren und aktivieren Sie das Plugin einmal |
| Der Einkäufer ist Gast, obwohl die Zuordnung stimmt | Der zugeordnete Benutzer ist ein Administrator | Ordnen Sie den Zugang einem gewöhnlichen Kundenkonto zu |
Das Plugin schreibt je abgelehntem Login-Token eine Zeile mit einem Ablehnungsgrund ins PHP-Fehlerlog, und nur, wenn WP_DEBUG an ist. Das Token und den Kunden protokolliert es nie. Die Ablehnungsgründe stehen auf der Seite Auto-Login.
Mehr unter Fehlersuche.
Vollständige README
Abschnitt betitelt „Vollständige README“Die englische README des Plugins beschreibt die Prüfungen des Tokens, die Sicherheitshinweise und den Selbsttest für die Entwicklung: README des WooCommerce-Plugins.
punchout.dev · hello@punchout.dev