Was ist WooCommerce und wie funktioniert es?
WooCommerce ist ein open-source-E-Commerce-Plugin, das auf WordPress basiert und es ermöglicht, jede Standard-WordPress-Website in einen voll funktionsfähigen Online-Shop umzuwandeln. Sein Kern besteht in einer Brücke, die das WordPress-Inhaltsverwaltungssystem (CMS) mit den Funktionen eines E-Commerce-Systems verbindet. Das Plugin wurde ursprünglich von WooThemes entwickelt und ist heute ein Projekt von Automattic, das nahtlos in die WordPress-Ökologie integriert ist.
Der Funktionsmechanismus besteht darin, dass es der WordPress-Datenbank benutzerdefinierte Tabellen hinzufügt, die zur Speicherung von Produktdaten, Bestellungen, Kundendaten und anderen E-Commerce-Daten verwendet werden. Sobald dies aktiviert wird… WooCommerce Nach der Installation des Plugins werden eine Reihe von Menüs und Optionen in die WordPress-Verwaltungsoberfläche hinzugefügt. Gleichzeitig werden auf der Benutzeroberfläche die erforderlichen Seiten generiert, wie die Hauptseite des Shops, der Warenkorb sowie die Kasse. Die Backend-Logik wird über eine Reihe von Aktionshookern und Filterhookern realisiert. woocommerce_before_main_content und woocommerce_after_shop_loop_itemDie Implementierung ermöglicht es Entwicklern, Funktionen und das Erscheinungsbild der Anwendung detailliert anzupassen und zu individualisieren.
Die Plattform folgt dem typischen MVC-Architekturmuster (Model-View-Controller), auch wenn es im Kontext von WordPress einige Anpassungen gegeben hat. Das Datenmodell („Model“) besteht aus Klassen für Produkte und Bestellungen. WC_Product und WC_OrderDie Verwaltung sowie die Anzeigeebene (View) werden durch Thema-Vorlagen-Dateien gesteuert, während die Geschäftslogik (Controller) durch den Kern der Plugins sowie zahlreiche „Hooks“ (Verbindungsmechanismen) abgewickelt wird. Diese Struktur sorgt für eine hohe Flexibilität und Erweiterbarkeit.
Empfohlene Lektüre Das ultimative WooCommerce-Leitfaden für 2025: Erstellen Sie Ihren Online-Shop von Grund auf。
Wie installierst und konfigurierst du deinen ersten WooCommerce-Shop?
Der Installationsprozess von WooCommerce unterscheidet sich nicht von der Installation anderer WordPress-Plugins. Die einfachste Methode besteht darin, über die “Plugins”-->“Plugins installieren”-Seite im WordPress-Administrationsbereich nach dem gewünschten Plugin zu suchen und es dann zu installieren.
Nach der Installation und Aktivierung des Plugins startet das System einen Einrichtungsassistenten, der Sie durch die wichtigen ersten Konfigurationsschritte führt. Dieser Schritt ist von entscheidender Bedeutung, da er die Grundlage für das Funkionieren des Shops legt. Im Folgenden finden Sie eine detaillierte Beschreibung der wichtigsten Konfigurationsvorhaben.
Einstellungen der grundlegenden Informationen für den Shop vornehmen
Der Einrichtungsassistent fordert Sie zunächst auf, die Adresse Ihres Shops, die Währung, die Art der verkauften Produkte (physische Produkte, digitale Produkte oder beides) sowie die voreingestellten Zahlungsmethoden und Liefergebiete einzugeben. Wenn Sie beispielsweise die Währung “Chinesische Yuan” auswählen, legt das Plugin die entsprechenden Konfigurationsoptionen in der Datenbank fest.
Diese Einstellungen werden hauptsächlich in WordPress gespeichert. wp_options In der Tabelle… woocommerce_ Die Optionennamen, die mit einem bestimmten Präfix beginnen, werden gespeichert. Zum Beispiel werden die Informationen zu den Ländern/Regionen der Geschäfte gespeichert… woocommerce_default_country Diese grundlegenden Einstellungen bilden die Basis für die Ausführung aller nachfolgenden Funktionen.
Konfigurieren Sie die grundlegenden Einstellungen für Zahlungen und Versand.
Zahlungen und Versand sind das Herzstück des E-Commerce. WooCommerce verfügt über eine Vielzahl von integrierten Zahlungsgateways, wie die Standardversion von PayPal, Banküberweisungen und Scheckzahlungen. Sie können diese auf der Seite “WooCommerce” -> “Einstellungen” -> “Zahlungen” aktivieren und konfigurieren. Für die PayPal-Zahlung müssen Sie die E-Mail-Adresse Ihres Geschäftskontos sowie den API-Schlüssel eingeben.
Empfohlene Lektüre Das ultimative Handbuch für die Erstellung von Webseiten mit WooCommerce: Von Null bis Eins – so erstellen Sie eine leistungsstarke, unabhängige E-Commerce-Plattform。
Die Transporteinstellungen sind genauso wichtig. Auf der Seite “WooCommerce” -> “Einstellungen” -> “Versand” können Sie Versandzonen hinzufügen und für jede Zone unterschiedliche Versandmethoden (z. B. kostenlose Lieferung, einheitliche Versandkosten oder Abholung vor Ort) sowie die entsprechenden Gebühren festlegen. WC_Shipping_Method Klassen werden verwendet, um verschiedene Liefermethoden abzustreifen und Entwicklern die Erstellung benutzerdefinierter Lieferlogiken zu ermöglichen.
Ein typisches Beispiel für einen Hook-Code für die Berechnung eines einheitlichen Versandpreises könnte wie folgt aussehen, um eine Zusatzgebühr je nach Gewicht des Warenkorbs zu erheben:
add_filter( 'woocommerce_package_rates', 'add_shipping_surcharge_by_weight', 10, 2 );
function add_shipping_surcharge_by_weight( $rates, $package ) {
$cart_weight = WC()->cart->get_cart_contents_weight();
foreach ( $rates as $rate_key => $rate ) {
if ( 'flat_rate' === $rate->method_id ) {
if ( $cart_weight > 10 ) {
$rates[$rate_key]->cost += 20;
}
}
}
return $rates;
} Erweiterte Funktionen und Hooks ermöglichen eine fortgeschrittene Anpassung von Systemen oder Anwendungen.
Die wahre Stärke von WooCommerce liegt in seiner umfangreichen Erweiterungsbibliothek (offiziell “WooCommerce Extensions”) sowie dem entwicklerfreundlichen Hook-System. Dadurch können Sie die Standardfunktionen von WooCommerce übersteigen und einen Online-Shop erstellen, der den besonderen Anforderungen Ihres Unternehmens entspricht.
Der offizielle Erweiterungsmarkt bietet eine Vielzahl von hochentwickelten Funktionen und Plugins – von Abonnementsdiensten über Buchungssysteme bis hin zu Mitgliedschaftsmodellen. Für noch individuellere Anforderungen ist es jedoch üblich, direkt auf Aktionshaken (Action Hooks) und Filterhaken (Filter Hooks) zurückzugreifen, um eigene Lösungen zu entwickeln.
Implementierung der Anzeige benutzerdefinierter Produktdaten
Angenommen, Sie verkaufen Wein und müssen auf der Produktseite die “Jahresangabe” anzeigen. WooCommerce ermöglicht es Ihnen, benutzerdefinierte Produktfelder einfach hinzuzufügen und diese auf der Benutzeroberfläche anzuzeigen. Dies wird in der Regel durch die Kombination von Produktdatenmetadatenfeldern und Template-Übernahmen erreicht.
Zuerst musst du verwenden… woocommerce_product_options_general_product_data Der Hook fügt ein Feld zur Registerkarte “Allgemein” auf der Produktbearbeitungsseite hinzu. Anschließend wird dieses Feld verwendet… woocommerce_process_product_meta Der Hook speichert den Wert dieses Feldes. Um diesen Wert schließlich anzuzeigen, müssen Sie die entsprechende Produktdetails-Vorlagendatei überschreiben. In der Regel werden Sie dies tun, um die Darstellung des Wertes im Produktprofil anzupassen. woocommerce/templates/single-product/ Die Vorlagen-Dateien aus dem Verzeichnis werden in dein Thema-Verzeichnis kopiert. your-theme/woocommerce/single-product/ Sie werden in der Mitte bearbeitet und modifiziert.
Empfohlene Lektüre WooCommerce-Entwicklung für E-Commerce-Websites: Ein umfassender Leitfaden, um einen professionellen Online-Shop von Grund auf aufzubauen。
Zum Beispiel, in price.php Codeausschnitt zur Anzeige benutzerdefinierter Felder in der Nähe der Template-Datei:
// 显示存储在 _product_year 自定义字段中的年份
$year = get_post_meta( get_the_ID(), '_product_year', true );
if ( $year ) {
echo '<p class="product-year">Jahr: '. esc_html($year). '</p>';
} Erstellen Sie benutzerdefinierte Bezahlungsfelder.
Die Anpassung des Abrechnungsprozesses ist ein weiterer häufiger Anforderung. Dafür können Sie… woocommerce_checkout_fields Filter-Hooks werden verwendet, um Felder in der Abrechnungsformulare hinzuzufügen, zu entfernen oder zu ändern. Zum Beispiel kann man für B2B-Kunden ein Feld für die Unternehmenssteuernummer hinzufügen.
Der folgende Code zeigt, wie man ein benutzerdefiniertes Feld in das Feldbereich für Rechnungen hinzufügt:
add_filter( 'woocommerce_checkout_fields', 'add_custom_checkout_field' );
function add_custom_checkout_field( $fields ) {
$fields['billing']['billing_vat'] = array(
'label' => __( '增值税号', 'your-text-domain' ),
'placeholder' => _x( '请输入您的公司税号', 'placeholder', 'your-text-domain' ),
'required' => false, // 可以根据业务需求设置为 true
'class' => array('form-row-wide'),
'clear' => true,
'priority' => 25, // 控制字段显示顺序
);
return $fields;
} Nachdem Sie das Feld hinzugefügt haben, müssen Sie es auch noch verwenden. woocommerce_checkout_update_order_meta Der Hook speichert den Feldwert in die Bestellmetadaten und verwendet ihn anschließend. woocommerce_admin_order_data_after_billing_address Der Hook zeigt diese Informationen auf der Seite mit den Details der Admin-Aufträge an.
Best Practices für Leistungsverbesserung und Sicherheit
Mit dem Wachstum der Ladengröße, der Zunahme der Produkt- und Bestellanzahlen sowie dem Einsatz verschiedener Erweiterungen werden Leistungs- und Sicherheitsprobleme allmählich deutlicher. Ein langsam arbeitender oder unsicherer Shop wirkt sich direkt auf die Konvertierungsrate und das Vertrauen der Kunden aus.
Die wichtigsten Maßnahmen zur Leistungsverbesserung sind die Auswahl hochwertiger Server sowie die Einrichtung von Caching-Systemen. Bei WooCommerce müssen die Warenkorb- und Zahlungsseiten, da sie dynamisch sind und Benutzerdaten enthalten, speziell behandelt werden; sie werden in der Regel von der Vollseiten-Caching-Strategie ausgeschlossen. Die Verwendung von Objektcaching-Systemen wie Redis oder Memcached kann die Geschwindigkeit von Datenbankabfragen erheblich steigern – insbesondere bei der Anzeige einer großen Anzahl von Produkten auf der Hauptseite des Shops.
Optimierung von Datenbankabfragen und Bildladungen
WooCommerce führt während seiner Ausführung eine große Anzahl von Datenbankabfragen durch. Die Optimierung kann damit beginnen, dass Sie sicherstellen, dass die Indizes der Datenbanktabellen korrekt sind. Regelmäßig sollten auch veraltete Sitzungsdaten (die gespeichert werden) gelöscht werden. wp_woocommerce_sessions Die alten Protokolle der noch offenen Bestellungen (im Tabellenbereich) sowie der bereits abgeschlossenen Bestellungen…wp_wc_admin_notes Mittel wie diese können die Größe der Datenbank verringern.
Bilder sind in der Regel der größte Anteil am Gesamtvolumen einer Seite. Stellen Sie sicher, dass alle Produktbilder ordnungsgemäß komprimiert werden und moderne Formate wie WebP verwendet werden. WooCommerce generiert standardmäßig Vorschaubilder in verschiedenen Größen, die Sie in den Einstellungen -> Medien verwalten können. Es wird jedoch dringend empfohlen, spezielle Komprimierungsverfahren zu nutzen, um die Datenmenge zu reduzieren und die Ladezeit der Seiten zu optimieren. add_image_size() Definieren Sie die genauen Bildgrößen für die Funktionen, die den Anforderungen Ihres thematischen Designs entsprechen, um unnötige Bilder zu vermeiden.
Stärkung der Sicherheitskonfiguration des Shops
Sicherheit ist von größter Bedeutung. Zunächst sollten Sie immer starke Passwörter verwenden und die Zwei-Faktor-Authentifizierung (2FA) für die Administratorkonten aktivieren. Stellen Sie sicher, dass das WordPress-Core-System, die WooCommerce-Plugins, das Theme sowie alle anderen Erweiterungen auf den neuesten Stand gebracht werden, um bekannte Sicherheitslücken zu beheben.
Was die Zahlungssicherheit betrifft, ist es unerlässlich, SSL-Zertifikate zu verwenden und sicherzustellen, dass die gesamte Website – insbesondere die Zahlungsseite – über HTTPS zugänglich ist. Dies kann durch die obligatorische Aktivierung der entsprechenden Sicherheitsmaßnahmen erreicht werden. FORCE_SSL_CHECKOUT Konstanten werden verwendet, um diese Einstellungen zu verstärken bzw. zu verbessern.
„In“ wp-config.php Datei hinzugefügt wird:
define( 'FORCE_SSL_CHECKOUT', true ); Darüber hinaus sind es unerlässliche Sicherheitsmaßnahmen, die Anzahl der Anmeldeversuche zu begrenzen, sichere Schlüssel zu verwenden, regelmäßige Sicherheitsüberprüfungen durchzuführen sowie die von Benutzern hochgeladenen Dateien (z. B. Bilder, die in Produktbewertungen verwendet werden) streng zu überprüfen und zu desinfizieren. Für Geschäfte, die mit sensiblen Kundendaten arbeiten, sollten noch strengere Compliance-Maßnahmen in Betracht gezogen werden.
Zusammenfassungen
WooCommerce ist als Eckpfeiler des WordPress-Ökosystems auf seinem Erfolg beruht – schließlich verbindet es leistungsstarke E-Commerce-Funktionen mit einer beispiellosen Flexibilität und Zugänglichkeit. Von der einfachen Installation und Konfiguration über intuitive Einrichtungsassistenten und das Backend-Management bis hin zum Einsatz seiner umfangreichen Erweiterungslibrary sowie seines tiefgreifenden Hook-Systems für eine unbegrenzte Anpassungsmöglichkeit, bietet es Unternehmen aller Größen die nötigen Werkzeuge, um den idealen Online-Shop zu erstellen. Gleichzeitig ist es entscheidend, sich kontinuierlich um die Leistung der Datenbank, die Optimierung von Bildern sowie um umfassende Sicherheitsmaßnahmen zu kümmern, um einen stabilen, schnellen und sicheren Betrieb des Shops zu gewährleisten. Ob Start-up oder etabliertes Unternehmen – durch das Beherrschen der Grundprinzipien und besten Praktiken von WooCommerce kann man im Bereich des digitalen Handels eine solide und flexible Basis aufbauen.
FAQ Häufig gestellte Fragen
Wie kann man die Seitenleiste auf einer WooCommerce-Shop-Seite verbergen?
Sie können in Ihrer Thema-Datei Bedingungstags („Conditional Tags“) verwenden, um die Seitenspalte zu entfernen. Die häufigste Methode besteht darin, eine Datei mit dem Namen zu erstellen… woocommerce.php Füge die Template-Dateien in den Wurzelverzeichnis deines Themes hinzu – basierend auf deinem Theme. page.php Datei wurde geändert und die entsprechenden Verweise wurden entfernt. get_sidebar() Aufruf einer Funktion.
Eine flexiblere Methode ist es, folgendes zu verwenden: is_shop() Bedingungs-Tags in Kombination mit „Hook-Funktionen“. Zum Beispiel in Ihrem Sub-Thema… functions.php Fügen Sie den folgenden Code in die Datei hinzu, um die Seitenspalte von der WooCommerce-Shop-Seite zu entfernen:
add_action( 'wp', 'remove_sidebar_on_shop' );
function remove_sidebar_on_shop() {
if ( is_shop() ) {
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
// 或者,如果你的主题使用不同的侧边栏钩子
// add_filter( 'is_active_sidebar', 'deactivate_sidebar_on_shop', 10, 2 );
}
} So kann sichergestellt werden, dass die Seitenleiste nur auf der Hauptseite des Shops versteckt wird und keine Auswirkungen auf die anderen Seiten hat.
Kann man den Text der Standard-Schaltfläche “Zur Warenkorb hinzufügen” ändern?
Ja, es gibt verschiedene Möglichkeiten, den Text auf dieser Schaltfläche zu ändern. Die einfachste Methode besteht darin, ein Übersetzungstool wie Loco Translate zu verwenden, um den Text “Add to cart” in die gewünschte Sprache zu übersetzen (z. B. “Sofort kaufen”). Dabei ist kein Codewriting erforderlich.
Eine weitere Methode besteht darin, Filter-Hooks zu verwenden. woocommerce_product_add_to_cart_text(Die Angabe „(Für Archivseiten) und“ wird in der Übersetzung beibehalten, da sie klar den Zweck der Angabe kennzeichnet.) woocommerce_product_single_add_to_cart_text(Die Angabe gilt für die Produktseite eines einzelnen Produkts.) In Ihrem Thema… functions.php Fügen Sie den folgenden Code hinzu:
add_filter( 'woocommerce_product_add_to_cart_text', 'change_archive_add_to_cart_text' );
function change_archive_add_to_cart_text() {
return __( '立即订购', 'your-text-domain' );
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text' );
function change_single_add_to_cart_text() {
return __( '加入购物车', 'your-text-domain' );
} Die Verwendung von Filter-Hooks ermöglicht es Ihnen, eine noch genauere Kontrolle je nach Produkttyp (z. B. variablen Produkte, gruppierten Produkte) durchzuführen.
Wie kann man je nach Benutzerrolle unterschiedliche Produktpreise festlegen?
Die Preisgestaltung basierend auf der Benutzerrolle ist eine fortgeschrittene Funktion, die in der Regel die Entwicklung von benutzerdefiniertem Code oder die Nutzung spezieller Erweiterungen für Mitgliedschaften/Handelspreisgestaltung erfordert (z. B. WooCommerce Memberships oder Wholesale Suite). Wenn diese Funktion durch Code implementiert wird, basiert der Kernansatz darauf, die Benutzerrollen der Kunden zu erkennen und entsprechende Preisangaben anzuwenden. woocommerce_get_price Die Filter-Hook-Funktion ermöglicht die dynamische Änderung der Produktpreise.
Hier ist ein einfaches Beispiel, das einen Rabatt auf 20% für Kunden mit der Benutzerrolle “Händler” bietet:
add_filter( 'woocommerce_get_price', 'apply_role_based_pricing', 10, 2 );
function apply_role_based_pricing( $price, $product ) {
if ( is_user_logged_in() && current_user_can( 'wholesaler' ) ) {
$price = $price * 0.8; // 打八折
}
return $price;
} Bitte beachten Sie, dass dieser Code lediglich zu Demonstrationszwecken dient. In der Praxis müssen Sie Aspekte wie Leistung (es könnte notwendig sein, Preise zu cachen), die Kompatibilität von Warenkörben und Bestellanzeigen sowie die Integration mit der Steuerberechnung berücksichtigen. Für die Produktionsumgebung ist es in der Regel eine zuverlässigere Wahl, erprobte Erweiterungen zu verwenden.
Wie man häufige Probleme mit einem leeren Bildschirm bei WooCommerce debuggt
Das “White Screen of Death” (WSOD) bei WooCommerce wird in der Regel durch einen fatalen PHP-Fehler verursacht, wobei die Fehlermeldung versteckt wird. Zuerst müssen Sie auf der Website… wp-config.php Aktivieren Sie im File den WordPress-Debugging-Modus. Finden Sie die folgende Definition in diesem File oder fügen Sie sie hinzu:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false ); // 防止错误直接输出到屏幕
define( 'WP_DEBUG_LOG', true ); // 将错误记录到 /wp-content/debug.log 文件 Nach der Hinzufügung wurde die Seite, die zu einem leeren Bildschirm führte, erneut aufgerufen. Anschließend wurde überprüft, was sich an der entsprechenden Stelle befindet. wp-content Im Verzeichnis befindlich… debug.log Die Datei sollte die genauen Fehlerinformationen enthalten, die zum Problem geführt haben – beispielsweise ein Ausverbrauch der Speicherressourcen, Syntaxfehler oder Konflikte mit bestimmten Themen/Plugins.
Häufige Ursachen im Zusammenhang mit WooCommerce sind unter anderem Konflikte zwischen Themes oder Plugins (diese können durch das Nach und Nach Deaktivieren der Plugins sowie das Wechseln auf das Standard-Theme behoben werden) sowie unzureichende PHP-Memory-Ressourcen (dies kann durch verschiedene Optimierungsmaßnahmen gelöst werden). wp-config.php Hinzufügen in… define( 'WP_MEMORY_LIMIT', '256M' );Oder es gibt beschädigte Tabellen in der WooCommerce-Datenbank (Sie können versuchen, in der WooCommerce-Status-Tool die Option “Standard-WooCommerce-Tabellen erstellen” auszuführen, oder ein Datenbank-Reparatur-Plugin verwenden).
Was kommt als Nächstes, was kommt als Nächstes?
Erweiterte Lektüre und praktische Kenntnisse
Die folgenden Artikel stehen im Zusammenhang mit dem Thema dieses Artikels und eignen sich für eine vertiefte Lektüre. Oft ist es besser, mit dem Artikel zu beginnen, der Ihrem aktuellen Problem am nächsten kommt, und dann nach und nach die umliegenden Themen zu behandeln.
- Einen tiefen Einblick in WooCommerce: Die ultimative Anleitung zu einem E-Commerce-Lösungskonzept – von der Erstellung bis zur Optimierung
- Einführung in WordPress für Anfänger bis zur Meisterschaft: Erstellen Sie Ihre erste professionelle Website von Grund auf
- Gründliche Analyse von WooCommerce: Der Aufbau einer leistungsstarken WordPress-E-Commerce-Website von Grund auf
- 10 praktischer Tipps, um die Konvertierungsrate Ihrer WooCommerce-Website zu steigern
- Vom Einstieg zum Meistern: Eine umfassende Anleitung zum Aufbau von Webseiten mit WordPress und beste Praktiken