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
Abschnitt betitelt „Unterstützte CSV-Felder“GPSR-Felder (General Product Safety Regulation)
Abschnitt betitelt „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)
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „CSV-Import“Über das Admin-Panel
Abschnitt betitelt „Ü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
Abschnitt betitelt „Über WP-CLI“wp wc product_csv_importer run /path/to/file.csv --user=adminProgrammatisch
Abschnitt betitelt „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
Abschnitt betitelt „CSV-Export“Über das Admin-Panel
Abschnitt betitelt „Ü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
Abschnitt betitelt „Über WP-CLI“wp wc product_csv_exporter run --filename=products-polski.csv --user=adminFiltern der Exportspalten
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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