CSV import and export
Erweiterung des CSV-Importers/-Exporters von WooCommerce um Spalten für rechtliche Daten, GPSR, Umweltaussagen und andere nach polnischem und EU-Recht erforderliche Felder.
Unterstützte CSV-Felder
Section titled “Unterstützte CSV-Felder”GPSR-Felder (General Product Safety Regulation)
Section titled “GPSR-Felder (General Product Safety Regulation)”| CSV-Spalte | Meta key | Typ | Beschreibung |
|---|---|---|---|
gpsr_manufacturer_name | _polski_gpsr_manufacturer_name | string | Herstellername |
gpsr_manufacturer_address | _polski_gpsr_manufacturer_address | string | Herstelleradresse |
gpsr_manufacturer_email | _polski_gpsr_manufacturer_email | string | E-Mail des Herstellers |
gpsr_manufacturer_phone | _polski_gpsr_manufacturer_phone | string | Telefon des Herstellers |
gpsr_manufacturer_url | _polski_gpsr_manufacturer_url | string | Website des Herstellers |
gpsr_authorized_rep_name | _polski_gpsr_auth_rep_name | string | Name des Bevollmächtigten |
gpsr_authorized_rep_address | _polski_gpsr_auth_rep_address | string | Adresse des Bevollmächtigten |
gpsr_authorized_rep_email | _polski_gpsr_auth_rep_email | string | E-Mail des Bevollmächtigten |
gpsr_safety_info | _polski_gpsr_safety_info | string | Sicherheitshinweise |
gpsr_warnings | _polski_gpsr_warnings | string | Produktwarnhinweise |
gpsr_barcode_type | _polski_gpsr_barcode_type | string | Barcode-Typ: EAN, UPC, GTIN |
gpsr_barcode_value | _polski_gpsr_barcode_value | string | Barcode-Wert |
gpsr_product_type | _polski_gpsr_product_type | string | Produkttyp gemäß GPSR |
gpsr_country_of_origin | _polski_gpsr_country_origin | string | Ursprungsland (ISO-Code) |
Greenwashing-Felder (Anti-Greenwashing)
Section titled “Greenwashing-Felder (Anti-Greenwashing)”| CSV-Spalte | Meta key | Typ | Beschreibung |
|---|---|---|---|
green_claim_text | _polski_green_claim | string | Inhalt der Umweltaussage |
green_claim_evidence | _polski_green_evidence | string | Nachweise / Begründung |
green_certification_name | _polski_green_cert_name | string | Name des Zertifikats |
green_certification_number | _polski_green_cert_number | string | Nummer des Zertifikats |
green_certification_url | _polski_green_cert_url | string | Link zum Zertifikat |
green_carbon_footprint | _polski_green_carbon | float | CO2-Fußabdruck (kg CO2) |
green_recyclable | _polski_green_recyclable | bool | Ob das Produkt recycelbar ist |
green_durability_years | _polski_green_durability | int | Produkthaltbarkeit in Jahren |
Produktdatenfelder
Section titled “Produktdatenfelder”| CSV-Spalte | Meta key | Typ | Beschreibung |
|---|---|---|---|
unit_price | _polski_unit_price | float | Grundpreis |
unit_price_unit | _polski_unit_price_unit | string | Einheit: kg, l, m, Stk |
unit_price_base | _polski_unit_price_base | float | Umrechnungsbasis |
delivery_time_min | _polski_delivery_min | int | Min. Lieferzeit (Tage) |
delivery_time_max | _polski_delivery_max | int | Max. Lieferzeit (Tage) |
manufacturer_name | _polski_manufacturer | string | Herstellername |
manufacturer_url | _polski_manufacturer_url | string | Hersteller-URL |
gtin | _polski_gtin | string | GTIN/EAN-Code |
withdrawal_excluded | _polski_withdrawal_excluded | bool | Vom Widerrufsrecht ausgeschlossen |
withdrawal_reason | _polski_withdrawal_reason | string | Grund für Widerrufsausschluss |
Felder für Lebensmittelprodukte
Section titled “Felder für Lebensmittelprodukte”| CSV-Spalte | Meta key | Typ | Beschreibung |
|---|---|---|---|
energy_kcal | _polski_energy_kcal | float | Energie (kcal/100g) |
energy_kj | _polski_energy_kj | float | Energie (kJ/100g) |
fat | _polski_fat | float | Fett (g/100g) |
saturated_fat | _polski_saturated_fat | float | Gesättigte Fettsäuren |
carbohydrates | _polski_carbohydrates | float | Kohlenhydrate (g/100g) |
sugars | _polski_sugars | float | Zucker (g/100g) |
protein | _polski_protein | float | Eiweiß (g/100g) |
salt | _polski_salt | float | Salz (g/100g) |
fiber | _polski_fiber | float | Ballaststoffe (g/100g) |
allergens | _polski_allergens | string | Allergene (kommagetrennt) |
nutri_score | _polski_nutri_score | string | Nutri-Score: A, B, C, D, E |
Beispiel-CSV-Datei
Section titled “Beispiel-CSV-Datei”ID,SKU,Name,gpsr_manufacturer_name,gpsr_manufacturer_address,gpsr_manufacturer_email,gpsr_barcode_type,gpsr_barcode_value,gpsr_country_of_origin,unit_price,unit_price_unit,delivery_time_min,delivery_time_max,manufacturer_name123,SKU-001,"Cotton T-shirt","Producer XYZ Sp. z o.o.","ul. Fabryczna 1, 00-001 Warsaw","[email protected]","EAN","5901234123457","PL",49.99,"pcs",2,5,"XYZ"456,SKU-002,"Rapeseed oil 1L","Olejarnia ABC","ul. Polna 5, 60-001 Poznan","[email protected]","EAN","5901234567890","PL",12.99,"l",1,3,"ABC"CSV-Import
Section titled “CSV-Import”Über das Admin-Panel
Section titled “Über das Admin-Panel”- Gehen Sie zu WooCommerce > Produkte > Import
- Wählen Sie die CSV-Datei aus
- In der Phase der Spaltenzuordnung erscheinen die Spalten von Polski for WooCommerce automatisch im Abschnitt Polski for WooCommerce
- Ordnen Sie die CSV-Spalten den entsprechenden Feldern zu
- Starten Sie den Import
Über WP-CLI
Section titled “Über WP-CLI”wp wc product_csv_importer run /path/to/file.csv --user=adminProgrammatisch
Section titled “Programmatisch”// Hook to modify imported dataadd_filter('polski/csv/import_data', function (array $data, array $raw_row): array { // GTIN code validation if (!empty($data['gpsr_barcode_value'])) { $gtin = $data['gpsr_barcode_value']; if (strlen($gtin) !== 13 && strlen($gtin) !== 8) { $data['gpsr_barcode_value'] = ''; // Reject invalid code } } return $data;}, 10, 2);CSV-Export
Section titled “CSV-Export”Über das Admin-Panel
Section titled “Über das Admin-Panel”- Gehen Sie zu WooCommerce > Produkte > Export
- Aktivieren Sie im Abschnitt Zu exportierende Spalten die Spalten aus der Gruppe Polski for WooCommerce
- Filtern Sie optional nach Kategorie, Status oder Produkttyp
- Klicken Sie auf CSV generieren
Über WP-CLI
Section titled “Über WP-CLI”wp wc product_csv_exporter run --filename=products-polski.csv --user=adminFiltern der Exportspalten
Section titled “Filtern der Exportspalten”// Adding custom columns to exportadd_filter('polski/csv/export_columns', function (array $columns): array { $columns['custom_field'] = 'Custom field'; return $columns;});
// Custom column valueadd_filter('polski/csv/export_column_value', function ($value, string $column, WC_Product $product) { if ($column === 'custom_field') { return $product->get_meta('_my_custom_field'); } return $value;}, 10, 3);Importvalidierung
Section titled “Importvalidierung”Der Import validiert die Daten automatisch:
- GTIN/EAN - Prüfung der Prüfziffer (Modulo-10-Algorithmus)
- E-Mail - Validierung des E-Mail-Adressformats
- URL - Validierung des URL-Formats
- Land - Prüfung des ISO-3166-1-alpha-2-Codes
- Allergene - Überprüfung, ob die Werte zur definierten Liste gehören (14 EU-Allergene)
- Nutri-Score - Prüfung, ob der Wert A, B, C, D oder E ist
Ungültige Werte werden protokolliert und übersprungen (sie blockieren den Import nicht). Das Protokoll ist nach dem Import im Ergebnisbereich verfügbar.
Massenimport von GPSR-Daten
Section titled “Massenimport von GPSR-Daten”Für Shops mit vielen Produkten, bei denen der Hersteller für viele Produkte identisch ist:
# Prepare a CSV with minimal data# ID,gpsr_manufacturer_name,gpsr_manufacturer_address,gpsr_manufacturer_emailLegen Sie anschließend Standardwerte für GPSR unter WooCommerce > Polski > Rechtliche Konformität > GPSR > Standardwerte fest. Der Import füllt nur Produkte auf, die leere GPSR-Felder haben.
Fehlerbehebung
Section titled “Fehlerbehebung”Polski-Spalten erscheinen nicht in der Zuordnung - stellen Sie sicher, dass das Plugin Polski for WooCommerce aktiv ist. Die Spalten werden über den Hook woocommerce_csv_product_import_mapping_options registriert.
Der Import läuft in einen Timeout - erhöhen Sie die PHP-Einstellung max_execution_time oder verwenden Sie WP-CLI für den Import großer Dateien.
Sonderzeichen sind beschädigt - stellen Sie sicher, dass die CSV-Datei in UTF-8-Kodierung (ohne BOM) gespeichert ist.
Numerische Werte werden nicht importiert - der Dezimaltrennzeichen in der CSV-Datei sollte ein Punkt (.) sein, kein Komma.
Probleme melden: github.com/wppoland/polski/issues