WooCommerce-Produktimport vollständig meistern: Der ultimative Leitfaden von CSV-Dateien bis hin zu benutzerdefinierten Produkten

3-Minuten-Lesung
2026-03-13
2026-06-03
2,624
Ich bekomme eine Provision, wenn du über die untenstehenden Links einkaufst – ohne zusätzliche Kosten für dich.

Warum sind professionelle Tools zum Importieren von WooCommerce-Produkten erforderlich?

Mit dem Wachstum der Online-Shop-Größen wird es immer unpraktischer, Produkte manuell einzeln hinzuzufügen. Egal ob es um die Übernahme von Daten aus bestehenden Geschäften, die Massenaktualisierung von Lagerpreisen oder die Abfrage von Produktlisten bei Lieferanten geht – effiziente Datenimport-Funktionen sind von entscheidender Bedeutung. Die von WooCommerce selbst bereitgestellten Import-Tools reichen für einfache Anwendungsfälle aus, doch bei der Verarbeitung komplexer Produkttypen, benutzerdefinierter Felder und großer Datenmengen benötigen Entwickler systematischeren und leistungsfähigeren Ansätze.

Die Verwendung der richtigen Werkzeuge und Methoden für die Produktimportierung spart nicht nur viel Zeit, sondern verhindert auch weitgehend menschliche Fehler und sorgt für die Konsistenz der Daten. Egal ob es sich um Standardprodukte, variablen Inhalt oder fortgeschrittene Produkttypen wie Abonnements und Bundelverkäufe handelt – ein gut strukturiertes Importverfahren ist die Grundlage für die Automatisierung des E-Commerce-Betriebs. In diesem Artikel wird der gesamte Prozess von der Vorbereitung standardisierter CSV-Dateien bis hin zur programmatischen Verarbeitung benutzerdefinierter Produkte ausführlich erläutert.

Ein standardisiertes CSV-Dateiformat wird vorbereitet, um eine Massenimportierung durchzuführen.

WooCommerce verfügt über eine integrierte Funktion zur Importierung von Produkten über CSV-Dateien – dies ist die am häufigsten genutzte und direkteste Methode für die Massenverarbeitung von Daten. Der Schlüssel dazu besteht darin, eine CSV-Datei zu erstellen, die dem von WooCommerce erwarteten Format entspricht.

Empfohlene Lektüre Entwicklung einer WooCommerce-E-Commerce-Website: Bauen Sie Ihren Online-Shop von Grund auf auf.

Verstehen der Kernproduktdatenspalten

Eine grundlegende CSV-Datei zur Importierung muss einige Schlüsselkolonnen enthalten. Darunter…IDundTypeDie Spalte ist am wichtigsten.IDDient zum Abgleich mit bestehenden Produkten, um eine Aktualisierung durchzuführen. Wenn dieser Feldwert leer gelassen wird, wird ein neues Produkt erstellt.TypeDann werden die Produkttypen definiert, wie zum Beispiel…simple(Einfache Produkte)variable(Variable Produkte)grouped(Gruppierte Produkte) usw. Weitere grundlegende Spalten umfassen:SKU(Lagereinheit)Name(Produktname),Published(Veröffentlichungszustand: 1 steht für veröffentlicht)Description(Beschreibung)Regular price(Regulärer Preis) sowieStock(Verfügbarer Lagerbestand).

UltaHost – WordPress-Hosting-Anbieter
30-tägige Geld-zurück-Garantie, unbegrenztes Bandbreiten- und Datenbankvolumen, kostenlose DDoS-Schutzmaßnahmen sowie ein Rabatt von 501 auf 4 Terabyte bei einer Kaufdauer von 3 Jahren.

Für variablen Produkte erfolgt der Import in zwei Schritten: Zuerst wird das übergeordnete Produkt importiert, anschließend die jeweiligen Varianten dieses Produkts.TypeDie Liste wird alsvariable, UntervariantenTypeDie Liste wird alsvariationUnd durch…ParentDie Spalte gibt den SKU des Elterneprodukts an, um die Verbindung herzustellen.

Bearbeiten von Kategorien, Tags und Bildern

Die Importierung von Kategorien und Tags erfolgt über einen bestimmten Formatstandard. Für Produktkategorien kann dies beispielsweise durch die Verwendung eines standardisierten Datenformats erreicht werden.CategoriesIn der Spalte wird das Format “Overgeordnete Kategorie > Untergeordnete Kategorie” verwendet; mehrere Kategorien werden durch Semikolons getrennt. Beispiel: “Bekleidung > Hemden; Sommerneuheiten”. Die Tags hingegen werden auf eine andere Weise angezeigt.TagsDie Spalten sind mit englischen Kommas getrennt.

Die Importierung von Produktbildern ist relativ flexibel. Dies kann durch verschiedene Methoden erfolgen…ImagesDie Spalte enthält die URLs der Bilder; mehrere URLs werden durch Kommas getrennt. Das erste URL wird als Hauptbild verwendet. Beim Import versucht WooCommerce, diese Bilder herunterzuladen und im Medienarchiv zu speichern. Eine weitere Möglichkeit besteht darin, die Bilder vorab über FTP in einen bestimmten Verzeichnis auf dem Server zu laden und anschließend in der CSV-Datei relative Pfadangaben zu verwenden.

Ein Beispiel für eine CSV-Datei eines standardmäßigen, einfachen Produkts sieht wie folgt aus:

Empfohlene Lektüre WooCommerce-Tutorial: Eine vollständige Anleitung zum Aufbau einer professionellen E-Commerce-Website von Grund auf.

ID,Type,SKU,Name,Published,Description,Regular price,Stock,Categories,Images
,simple,T-SHIRT-SM,纯棉简约T恤,1,这是一件舒适的纯棉T恤。,29.99,100,服饰 > 上衣,https://example.com/tshirt.jpg

Die Verwendung der WP CLI (WordPress Command Line Interface) ermöglicht die Automatisierung fortgeschrittener Importvorgänge in WordPress.

Für Entwickler und fortgeschrittene Nutzer: Die WordPress-BefehlszeilenschnittstelleWP-CLIEs wurde eine leistungsstärkere, skriptbare Importmethode bereitgestellt. Diese eignet sich besonders gut für die Integration in Bereitstellungsprozesse oder zum Verarbeiten sehr großer Datensätze.

Eine grundlegende Methode zur Durchführung…wp-cliDer Befehl zur Importierung einer CSV-Datei lautet wie folgt:

wp import products.csv --authors=skip

Aber die häufigere Vorgehensweise besteht darin, benutzerdefinierte Skripte zu verwenden. Wir können ein PHP-Skript schreiben, das diese Funktionen ausnutzt.WP-CLIDas ist eine gute Frage.wp eval-fileBefehle werden ausgeführt, um die Aktionen durchzuführen. Der Kern des Skripts besteht darin, die entsprechenden Befehle zu verwenden.wc_get_product_objectDie Funktion erstellt ein Produktobjekt und legt dessen Attribute fest.

hosting.com Shared Hosting
Hohe Leistung mit AMD EPYC-CPUs, NVMe-SSD-Speicher und LiteSpeed, fachkundiger Inhouse-Support rund um die Uhr, erweiterte Sicherheitsmaßnahmen einschließlich SSL, Brute-Force-, Malware- und DDoS-Schutz, Einsparungen von bis zu 73%

Hier ist ein Beispiel für eine PHP-Script, mit dem auf programmierische Weise ein einfaches Produkt erstellt wird:

<?php
// 读取CSV数据
$csvFile = 'products.csv';
if (($handle = fopen($csvFile, 'r')) !== FALSE) {
    $header = fgetcsv($handle); // 读取标题行
    while (($data = fgetcsv($handle)) !== FALSE) {
        $productData = array_combine($header, $data);

// 创建产品对象
        $product = new WC_Product_Simple();
        $product->set_name($productData['Name']);
        $product->set_sku($productData['SKU']);
        $product->set_regular_price($productData['Regular price']);
        $product->set_description($productData['Description']);
        $product->set_stock_quantity($productData['Stock']);
        $product->set_status($productData['Published'] == 1 ? 'publish' : 'draft');

// 处理分类
        $categoryNames = explode(';', $productData['Categories']);
        $categoryIds = [];
        foreach ($categoryNames as $catName) {
            $term = term_exists(trim($catName), 'product_cat');
            if (!$term) {
                $term = wp_insert_term(trim($catName), 'product_cat');
            }
            if (!is_wp_error($term)) {
                $categoryIds[] = (int)$term['term_id'];
            }
        }
        $product->set_category_ids($categoryIds);

$product->save();
        echo "产品已创建/更新: " . $productData['Name'] . " (ID: " . $product->get_id() . ")n";
    }
    fclose($handle);
}
?>

Speichern Sie den oben genannten Script-Code als Datei mit einer geeigneten Endung, wie z. B. `.js`.import_products.phpDanach kann dies über einen Befehl erfolgen.wp eval-file import_products.phpAusführen.

Die Verwendung der WP CLI (WordPress Command Line Interface) zur Verarbeitung komplexer Zusammenhänge

WP-CLIDie Stärke liegt darin, komplexe Logiken verarbeiten zu können. Beispielsweise kann bei der Importierung variabler Produkte und deren Eigenschaften zunächst eine globale Eigenschaft erstellt werden, diese Eigenschaft anschließend den Produkten zugewiesen und daraus Varianten generiert werden. Durch das Schreiben von Skripten kann die Fehlerbehandlung sowie die Protokollierung jeder einzelnen Schritte präzise gesteuert werden, wodurch eine vollständig automatisierte Import-Pipeline realisiert wird. In Szenarien, in denen eine Synchronisation mit externen APIs (wie ERP-Systemen oder Lieferantensystemen) erforderlich ist, kann dies kombiniert werden…WP-CLIEine Verbindung mit geplanten Aufgaben (Cron Jobs) stellt die ideale Lösung dar.

Programmierung zur Verarbeitung von benutzerdefinierten Produkten und Metadaten

Wenn die Standard-CSV-Strukturen nicht den Anforderungen entsprechen – beispielsweise wenn es erforderlich ist, benutzerdefinierte Felder einzuführen, Produkttypen, die mit Drittanbieter-Plugins erstellt wurden (z. B. gebuchte Produkte), oder komplexe Metadaten zu verarbeiten – muss man zu programmatischen Methoden greifen.

Erstellen und aktualisieren von Produkten mit benutzerdefinierten Feldern

Alle Standarddaten der WooCommerce-Produkte (z. B. Preise, Lagerbestände) sowie benutzerdefinierte Daten (die über ACF oder andere Methoden hinzugefügt wurden), werden letztendlich als Metadaten (Post Meta) gespeichert. Der Schlüssel zu einer erfolgreichen Programmierung zur Importierung dieser Daten besteht darin, diese Metadaten korrekt zu verwenden.set_Reihe von Methoden undupdate_post_metaFunktion.

Angenommen, wir haben etwas, das „Name“ genannt wird…custom_batch_numberDas benutzerdefinierte Feld zeigt, wie es bei der Erstellung eines Produkts eingerichtet werden kann:

InterServer Shared Hosting
Shared Hosting $2.50 USD pro Monat, erster Monat $0.1 USD Promo-Code tryinterserver, 461 Cloud-Apps Skripte, ein Klick installieren.
// 假设 $product 是一个 WC_Product 对象
$product->set_name('高级定制产品');
$product->set_regular_price(99.99);
$product->save(); // 必须先保存产品以获得ID

// 更新自定义字段(产品元数据)
$product_id = $product->get_id();
update_post_meta($product_id, 'custom_batch_number', 'BATCH-2026-001');
update_post_meta($product_id, '_custom_field', 'value'); // 下划线开头表示隐藏的元数据

Es ist zu beachten, dass einige Drittanbieter-Plugins ihre eigenen Klassen für Produkttypen definieren. Bei der Erstellung solcher Produkte sollten die entsprechenden Klassen verwendet werden.new WC_Product_Booking()Und außerdem werden die spezifischen Methoden aufgerufen, die vom Plugin bereitgestellt werden.

Die Importfunktion mit WooCommerce-Hooks erweitern

Um während des Importvorgangs benutzerdefinierte Logiken einzubauen, bietet WooCommerce eine Vielzahl von „Hooks“ an. Zwei wichtige Aktionshooks sind:woocommerce_new_productundwoocommerce_update_productSie werden jeweils nach der Erstellung und nach der Aktualisierung des Produkts ausgelöst.

Zum Beispiel können wir nach der Importierung eines Produkts automatisch einem internen Prüfzustand zuweisen:

add_action('woocommerce_new_product', 'my_post_import_actions', 10, 2);
add_action('woocommerce_update_product', 'my_post_import_actions', 10, 2);

function my_post_import_actions($product_id, $product) {
    // 自动为所有新导入的产品添加“待审核”标记
    update_post_meta($product_id, '_internal_review_status', 'pending');

// 或者根据特定条件进行处理
    if (strpos($product->get_sku(), 'PREMIUM') !== false) {
        wp_set_object_terms($product_id, 'premium', 'product_tag', true);
    }
}

Darüber hinaus: Die Filter-Hookswoocommerce_product_import_pre_insert_product_objectEs ist ebenfalls äußerst nützlich, da es es uns ermöglicht, die Daten von Produktobjekten zu ändern, bevor diese in die Datenbank eingespeichert werden. Dies eignet sich beispielsweise für die einheitliche Formatierung von Preisen, die Umrechnung von Maßeinheiten oder die Überprüfung der Datenkonformität.

Zusammenfassungen

Die Importierung von WooCommerce-Produkten ist eine Fähigkeit, die von einfach bis komplex reicht und viele verschiedene Aspekte umfasst. Die Beherrschung der Standard-CSV-Importmethode ist die Grundlage und eignet sich für die meisten Szenarien der Massenaktualisierung und -migration. Wenn es um wiederholte Aufgaben geht oder die Integration mit Entwicklungsworkflows erforderlich ist,WP-CLIDie Befehlszeilen-Automatisierung zeigt ihre Stärke. Bei hochkonzfigurierten Shops, die auf benutzerdefinierten Feldern, Daten von Drittanbieter-Plugins oder komplexer Geschäftslogik basieren, bietet die Kombination aus Programmierung und WooCommerce-Hooks die ultimative Flexibilität und Kontrolle. Erfolgreiche Importstrategien nutzen oft eine Mischung dieser Werkzeuge: CSV-Dateien werden für tägliche Batch-Aufgaben verwendet, während Skripte für komplexe und individuelle Anforderungen eingesetzt werden. Der Schlüssel liegt darin, die Datenstruktur von WooCommerce gründlich zu verstehen und vor jeder Operation immer eine vollständige Sicherung der vorhandenen Daten durchzuführen.

FAQ Häufig gestellte Fragen

Wie geht man mit Sonderzeichen und Kodierungsproblemen in CSV-Dateien um?

Stellen Sie sicher, dass die CSV-Datei in UTF-8-Code gespeichert wird – dies ist die einzige Kodierung, die vom offiziellen WooCommerce-Importer vollständig unterstützt wird. Wenn die Daten spezielle Zeichen wie Kommas, Anführungszeichen oder Zeilenumbrüche enthalten, müssen die Werte der Felder mit doppelten englischen Anführungszeichen eingefasst werden.

Zum Beispiel sollte der Text so geschrieben werden, wenn er Kommas enthält:“这是一件优质,舒适的产品”Es wird empfohlen, in einem Texteditor zu überprüfen und sicherzustellen, dass die Anführungszeichen in allen Feldern paarweise verwendet werden. Dies ist ein entscheidender Schritt, um Importfehler zu vermeiden.

Was tun, wenn bei der Importierung variabler Produkte die Attribute nicht angezeigt werden oder die Erstellung der Varianten fehlschlägt?

Das ist in der Regel ein Problem mit der CSV-Formatierung oder der Reihenfolge der Importvorgänge. Zuerst stellen Sie sicher, dass Sie die globalen Eigenschaften korrekt eingestellt haben. Beim Import der übergeordneten Produkte…Type: variableWenn dies der Fall ist, ist es erforderlich,Attribute 1 nameundAttribute 1 value(s)Eigenschaften werden in gleichen Spalten definiert, zum Beispiel…颜色und红色,蓝色

Zweitens: Die Importierung von Varianten…Type: variationWenn dies der Fall ist, muss es über … erfolgen.ParentDie Spalte enthält die genaue Referenz auf die SKU (Stock Keeping Unit) des Elterneprodukts.Attribute: 颜色In einer solchen Spalte werden die spezifischen Attributwerte dieser Variante angegeben (z. B.)红色Schließlich, nachdem die Importierung abgeschlossen ist, müssen Sie zum Tab “Varianten” des Produkts wechseln und auf “Variante erstellen” oder “Änderungen speichern” klicken. Erst dann generiert das System alle möglichen Kombinationen von Varianten basierend auf den angegebenen Eigenschaften.

Wie kann man Produktbilder auf programmierische Weise korrekt einstellen?

Die Programmierung zur Einrichtung von Produktbildern ist etwas komplizierter als die Angabe der URL in einer CSV-Datei. Der Hauptschritt besteht darin, die Bilddatei zunächst in die WordPress-Medienbibliothek hochzuladen, die Anlagen-ID abzurufen und diese ID dann dem Produkt zuzuweisen.

Verwendbarmedia_sideload_imageDie Funktion lädt ein Bild von einer URL herunter und erstellt daraus ein Anhang. Der Beispielcode sieht wie folgt aus:

$image_url = 'https://example.com/product.jpg';
$attach_id = media_sideload_image($image_url, $product_id, '产品图片描述', 'id');
if (!is_wp_error($attach_id)) {
    // 设置为主图
    set_post_thumbnail($product_id, $attach_id);
    // 如需加入产品图库
    // $gallery_ids = array($attach_id);
    // update_post_meta($product_id, '_product_image_gallery', implode(',', $gallery_ids));
}

Wie geht man vor, wenn die Website beim Importieren einer großen Anzahl von Produkten abstürzt oder der Speicher ausläuft?

Dies ist auf die Zeit- und Speichergrenzen des Servers zurückzuführen. Bei der Importierung großer Datenmengen sollte auf keinen Fall über die WordPress-Benutzeroberfläche gearbeitet werden, sondern stattdessen andere Methoden verwendet werden.WP-CLIBefehlszeilentools, da sie nicht von den PHP-Timout-Einstellungen beeinflusst werden.

Auf der Script-Ebene kann eine Strategie der batchweisen Verarbeitung angewendet werden. Zum Beispiel kann man jeweils 100 CSV-Einträge lesen und verarbeiten, und nach Abschluss dieser Verarbeitungsvorgänge…sleep(1)Machen Sie eine kurze Pause und passen Sie Ihre Handlungen entsprechend an.wp_cache_flush()Löschen Sie den Cache, um Speicher freizumachen. Darüber hinaus können Sie vor dem Ausführen des Import-Skripts…wp-config.phpZurzeit wurde eine vorübergehende Erhöhung der Speichergrenzen eingeführt:define('WP_MEMORY_LIMIT', '512M');Für die Importierung von Produkten in Zahlen von Zehntausenden bis Hunderttausenden Stück wird empfohlen, direkt auf die Datenbank zuzugreifen oder auf professionellere Datenmigrationswerkzeuge zurückzugreifen.