Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Modul 1 · 1.2

Deutsch

So funktioniert WooCommerce

Modul 1: Bevor Sie beginnen · Lesezeit: 10 Minuten

Lernziel: Nach dieser Lektion können Sie erklären, wie WooCommerce in WordPress funktioniert und wo Produkte, Bestellungen, der Warenkorb und die geplanten Aufgaben liegen.

Kernbegriffe: Produkttyp, Beitragstyp product, Bestellungen (HPOS), Shopseiten, Sitzung und Warenkorb, Store API, REST-API, Action Scheduler, Transaktionsmails, Erweiterungen

Ein Plugin, das aus Ihrer Website einen Shop macht

Im WordPress-Kurs (Lektion 1.2 und 1.3) haben Sie gesehen, wie eine Seite entsteht: Der Webserver gibt die Anfrage an PHP weiter, PHP lädt WordPress, die Plugins und das Theme, holt Daten aus der Datenbank und erzeugt daraus HTML. WooCommerce fügt sich als großes Plugin in diesen Ablauf ein. Es bringt vier Dinge mit:

  1. Daten: Produkte, Bestellungen, Kunden, Steuersätze, Versandzonen.
  2. Seiten: den Shop, den Warenkorb, die Kasse und Ihr Konto.
  3. Prozesse: einen Warenkorb pro Besucher, Zahlungen über einen Zahlungsanbieter, E-Mails, Aktualisierung des Lagerbestands, geplante Aufgaben.
  4. Schnittstellen für Programme: die Store API und die REST-API.

Wer weiß, wo diese Bestandteile liegen, findet später einen Fehler viel schneller. Deshalb sehen wir sie uns jetzt einzeln an.

Produkte: ein eigener Beitragstyp

WordPress kennt Beitragstypen: Seiten und Beiträge sind zwei davon (WordPress-Kurs, Lektion 4.2). WooCommerce fügt den Beitragstyp product hinzu. Ein Produkt steht also, genau wie eine Seite, in der Tabelle mit den Beiträgen, mit seinen zusätzlichen Angaben (Preis, Artikelnummer (SKU), Lagerbestand, Gewicht) als Metadaten. Kategorien und Schlagwörter von Produkten sind eigene Taxonomien, getrennt von denen Ihres Blogs.

Jedes Produkt hat einen Produkttyp. Im Kern sind das einfach, gruppiert, extern (ein Link zu einem anderen Shop) und variabel. Die Häkchen virtuell (nichts zu versenden) und herunterladbar (eine Datei nach der Zahlung) können Sie zusätzlich setzen. Ein variables Produkt hat Varianten, etwa eine Teekanne in drei Farben; jede Variante ist ein eigener Artikel mit eigenem Preis und Lagerbestand. Modul 3 geht darauf genauer ein.

Bestellungen: eigene Tabellen (HPOS)

Früher speicherte WooCommerce Bestellungen ebenfalls als Beiträge. Bei gut besuchten Shops wurde das langsam, weil Bestellungen und Blogbeiträge sich dieselbe große Tabelle teilten. Deshalb kam HPOS (High-Performance Order Storage): Bestellungen in eigenen Tabellen, etwa wc_orders, wc_order_addresses und wc_orders_meta (mit dem Tabellenpräfix Ihrer Website davor). Seit WooCommerce 8.2 (Oktober 2023) ist HPOS bei jeder Neuinstallation aktiv. Ein älterer Shop bleibt bei der alten Speicherung, bis Sie selbst unter WooCommerce > Einstellungen > Erweitert > Funktionen umstellen.

Warum sollten Sie das wissen? Aus drei Gründen:

  • Backups: Bestellungen stehen nicht in Ihren Dateien, sondern in der Datenbank. Ein Backup ohne Datenbank ist für einen Shop wertlos (Lektion 6.2).
  • Erweiterungen: Eine ältere Erweiterung, die Bestellungen noch als Beitrag liest, funktioniert mit HPOS nicht richtig. WooCommerce warnt beim Plugin, wenn es nicht kompatibel ist.
  • Wiederherstellen: Spielen Sie ein Backup von gestern zurück, verschwinden die Bestellungen von heute. Das ist bei einem Shop viel schlimmer als bei einem Blog (Lektion 6.2).

Der Warenkorb: für jeden Besucher anders

Eine normale Seite ist für jeden Besucher gleich. Der Warenkorb nicht. Sobald ein Besucher etwas in den Warenkorb legt, startet WooCommerce eine Sitzung: ein Cookie (wp_woocommerce_session_ gefolgt von einem Code) im Browser und eine Zeile in einer Sitzungstabelle in der Datenbank. So weiß der Shop bei der nächsten Anfrage, welcher Warenkorb zu diesem Besucher gehört.

Zwei Folgen, denen Sie später wieder begegnen:

  • Warenkorb, Kasse und Ihr Konto dürfen nie in einem Seitencache landen, sonst sieht ein Besucher den Warenkorb eines anderen. WooCommerce sendet auf diesen Seiten selbst Header mit, die das Caching verbieten (Lektion 6.4).
  • Ein Shop, der bei jedem Besucher bereits eine Sitzung startet, auch ohne Warenkorb, macht den Seitencache der gesamten Website nutzlos. Das ist ein häufiger Fehler von Themes und Erweiterungen.

Die Shopseiten und die Blöcke

Bei der Installation legt WooCommerce vier Seiten an: Shop, Warenkorb, Kasse und Ihr Konto. Seit Version 8.3 (November 2023) verwenden Neuinstallationen für Warenkorb und Kasse Blöcke; ältere Shops nutzen oft noch Shortcodes. Beides funktioniert. Der Unterschied ist für Erweiterungen wichtig: Eine Erweiterung, die der Kasse etwas hinzufügt, muss die Variante unterstützen, die Sie verwenden. Lektion 2.2 zeigt, wie Sie das prüfen.

Zwei Schnittstellen für Programme: Store API und REST-API

WooCommerce hat zwei programmierbare Schnittstellen, und der Unterschied ist für die Sicherheit wichtig:

Store APIREST-API
Adresse/wp-json/wc/store/v1/.../wp-json/wc/v3/...
Für wenDen Shop selbst (die Blöcke im Browser) und andere Shop-FrontendsAnbindungen: Buchhaltung, Lagerverwaltung, Apps
Schlüssel nötig?Nein, öffentlich: Jeder kann Produkte und Preise lesenJa, ein API-Schlüssel mit Lese- oder Schreibrechten
Was steht darinProdukte, Preise, Lagerstatus, der Warenkorb des aktuellen BesuchersZusätzlich Bestellungen, Kunden, Berichte

Dass die Store API öffentlich ist, ist keine Sicherheitslücke: Sie zeigt genau das, was jeder Besucher im Shop sieht, nur in einer Form, die Programme lesen können. Probieren Sie es mit Ihrem eigenen Shop aus: Öffnen Sie https://shop.example.com/wp-json/wc/store/v1/products in Ihrem Browser (mit Ihrer eigenen Adresse), und Sie sehen Ihre Produkte als JSON. Die REST-API dagegen muss ohne Schlüssel verschlossen sein. Lektion 2.4 prüft beides.

Hinter den Kulissen: Action Scheduler und E-Mails

Viel Arbeit in einem Shop geschieht nicht, während der Kunde wartet, sondern später. WooCommerce nutzt dafür den Action Scheduler: eine Warteschlange geplanter Aufgaben, etwa das Stornieren einer unbezahlten Bestellung nach der eingestellten Zeit, das Senden von Webhooks oder das Aktualisieren von Berichten. Die Warteschlange finden Sie unter WooCommerce > Status > Geplante Aktionen. Diese Aufgaben laufen über WP-Cron, das nur ausgeführt wird, wenn Besucher kommen. Bei einem ruhigen Shop kann dann Arbeit liegen bleiben; Lektion 7.3 zeigt, wie ein echter Cronjob das löst.

Außerdem verschickt WooCommerce Transaktionsmails: eine E-Mail an Sie bei einer neuen Bestellung und E-Mails an den Kunden bei Eingang, Versand, Rückerstattung oder einem neuen Konto. Kommen diese nicht an, glaubt der Kunde, dass etwas schiefgelaufen ist. Lektion 6.1 kümmert sich um die Zustellbarkeit.

In der Praxis: So sieht es in WooCommerce aus

Im WordPress-Adminbereich von Theehuis Example erscheinen nach der Installation drei neue Menüs: WooCommerce (Bestellungen, Kunden, Einstellungen, Status), Produkte und Analysedienste (in neueren Versionen teils unter WooCommerce). Unter WooCommerce > Status finden Sie die Serverumgebung, die Datenbanktabellen, die geplanten Aktionen und die Protokolle. Diesen Bildschirm werden Sie bald oft brauchen. Die Schritte sind bei jedem Hoster gleich, weil sie in WordPress selbst liegen.

Zusammenfassung

  • WooCommerce bringt Daten, Seiten, Prozesse und zwei programmierbare Schnittstellen mit.
  • Produkte sind ein eigener Beitragstyp; Bestellungen liegen bei neuen Shops in eigenen Tabellen (HPOS, Standard seit 8.2).
  • Der Warenkorb arbeitet mit einer Sitzung pro Besucher; deshalb dürfen Warenkorb, Kasse und Ihr Konto nicht in den Cache.
  • Die Store API ist öffentlich und zeigt, was jeder Besucher sieht; die REST-API muss ohne Schlüssel verschlossen sein.
  • Geplante Aufgaben laufen über den Action Scheduler und WP-Cron; E-Mails sind Teil des Bestellprozesses.

Quiz

1. Wo liegen die Bestellungen eines neuen WooCommerce-Shops mit HPOS?



2. Warum startet WooCommerce eine Sitzung, wenn ein Besucher etwas in den Warenkorb legt?



3. Jemand öffnet /wp-json/wc/store/v1/products Ihres Shops, ohne sich anzumelden, und sieht Ihre Produkte mit Preisen. Was ist das?



4. Eine unbezahlte Bestellung wird bei einem ruhigen Shop erst Stunden später storniert statt nach der eingestellten Zeit. Was ist die wahrscheinliche Ursache?



Aufgabe

Aufgabe A1.2: Läuft diese Website mit WooCommerce? Geben Sie eine Domain ein, wählen Sie Ja oder Nein und notieren Sie, welchen Beleg Sie gesehen haben (zum Beispiel "generator" oder "wc/store/v1"). Das Programm ruft die Startseite ab, liest den REST-Index (/wp-json/, nur die Liste der Namespaces) und fragt /wp-json/wc/store/v1/products?per_page=1 ab. Es erkennt WooCommerce an einem meta generator mit WooCommerce, dem Namespace wc/store/v1 im REST-Index, einer funktionierenden Store API, Dateien aus /wp-content/plugins/woocommerce/ oder der Body-Klasse woocommerce. Grün: Ihre Wahl stimmt und Ihr Beleg kommt in den Headern, im HTML, im REST-Index oder in der Antwort der Store API vor; Sie sehen dann auch die Anzahl der Produkte und die Währung. Orange: Ihre Wahl stimmt, aber Ihren Beleg finden wir nicht wieder. Rot: Ihre Wahl stimmt nicht. Probieren Sie es zuerst mit Ihrem eigenen Shop und danach mit einem Shop, den Sie kennen. Es wird nichts in einen Warenkorb gelegt und nichts versendet.

Aufgabe A1.2: Läuft diese Website mit WooCommerce?




Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Weiterführende Informationen

Wo Schritte in einem Panel beschrieben sind, gelten sie für WebOké; bei anderen Anbietern funktioniert es ähnlich.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…