Przejdź do głównej zawartości

Import i eksport CSV

Rozszerzenie importera/eksportera CSV WooCommerce o kolumny danych prawnych, GPSR, oświadczeń środowiskowych i innych pól wymaganych przez polskie i unijne prawo.

Kolumna CSVMeta keyTypOpis
gpsr_manufacturer_name_polski_gpsr_manufacturer_namestringNazwa producenta
gpsr_manufacturer_address_polski_gpsr_manufacturer_addressstringAdres producenta
gpsr_manufacturer_email_polski_gpsr_manufacturer_emailstringE-mail producenta
gpsr_manufacturer_phone_polski_gpsr_manufacturer_phonestringTelefon producenta
gpsr_manufacturer_url_polski_gpsr_manufacturer_urlstringStrona www producenta
gpsr_authorized_rep_name_polski_gpsr_auth_rep_namestringNazwa upoważnionego przedstawiciela
gpsr_authorized_rep_address_polski_gpsr_auth_rep_addressstringAdres upoważnionego przedstawiciela
gpsr_authorized_rep_email_polski_gpsr_auth_rep_emailstringE-mail upoważnionego przedstawiciela
gpsr_safety_info_polski_gpsr_safety_infostringInformacje o bezpieczeństwie
gpsr_warnings_polski_gpsr_warningsstringOstrzeżenia dotyczące produktu
gpsr_barcode_type_polski_gpsr_barcode_typestringTyp kodu: EAN, UPC, GTIN
gpsr_barcode_value_polski_gpsr_barcode_valuestringWartość kodu kreskowego
gpsr_product_type_polski_gpsr_product_typestringTyp produktu wg GPSR
gpsr_country_of_origin_polski_gpsr_country_originstringKraj pochodzenia (kod ISO)
Kolumna CSVMeta keyTypOpis
green_claim_text_polski_green_claimstringTreść oświadczenia środowiskowego
green_claim_evidence_polski_green_evidencestringDowody / uzasadnienie
green_certification_name_polski_green_cert_namestringNazwa certyfikatu
green_certification_number_polski_green_cert_numberstringNumer certyfikatu
green_certification_url_polski_green_cert_urlstringLink do certyfikatu
green_carbon_footprint_polski_green_carbonfloatŚlad węglowy (kg CO2)
green_recyclable_polski_green_recyclableboolCzy produkt jest recyklingowalny
green_durability_years_polski_green_durabilityintTrwałość produktu w latach
Kolumna CSVMeta keyTypOpis
unit_price_polski_unit_pricefloatCena jednostkowa
unit_price_unit_polski_unit_price_unitstringJednostka: kg, l, m, szt
unit_price_base_polski_unit_price_basefloatBaza przeliczeniowa
delivery_time_min_polski_delivery_minintMin. czas dostawy (dni)
delivery_time_max_polski_delivery_maxintMax. czas dostawy (dni)
manufacturer_name_polski_manufacturerstringNazwa producenta
manufacturer_url_polski_manufacturer_urlstringURL producenta
gtin_polski_gtinstringKod GTIN/EAN
withdrawal_excluded_polski_withdrawal_excludedboolWyłączony z prawa odstąpienia
withdrawal_reason_polski_withdrawal_reasonstringPowód wyłączenia z odstąpienia
Kolumna CSVMeta keyTypOpis
energy_kcal_polski_energy_kcalfloatEnergia (kcal/100g)
energy_kj_polski_energy_kjfloatEnergia (kJ/100g)
fat_polski_fatfloatTłuszcz (g/100g)
saturated_fat_polski_saturated_fatfloatKwasy tłuszczowe nasycone
carbohydrates_polski_carbohydratesfloatWęglowodany (g/100g)
sugars_polski_sugarsfloatCukry (g/100g)
protein_polski_proteinfloatBiałko (g/100g)
salt_polski_saltfloatSól (g/100g)
fiber_polski_fiberfloatBłonnik (g/100g)
allergens_polski_allergensstringAlergeny (oddzielone przecinkiem)
nutri_score_polski_nutri_scorestringNutri-Score: A, B, C, D, E
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_name
123,SKU-001,"Koszulka bawełniana","Producent XYZ Sp. z o.o.","ul. Fabryczna 1, 00-001 Warszawa","kontakt@xyz.pl","EAN","5901234123457","PL",49.99,"szt",2,5,"XYZ"
456,SKU-002,"Olej rzepakowy 1L","Olejarnia ABC","ul. Polna 5, 60-001 Poznań","info@abc.pl","EAN","5901234567890","PL",12.99,"l",1,3,"ABC"
  1. Przejdź do WooCommerce > Produkty > Import
  2. Wybierz plik CSV
  3. Na etapie mapowania kolumn - kolumny Polski for WooCommerce pojawią się automatycznie w sekcji Polski for WooCommerce
  4. Zmapuj kolumny CSV na odpowiednie pola
  5. Uruchom import
Okno terminala
wp wc product_csv_importer run /sciezka/do/pliku.csv --user=admin
// Hook do modyfikacji importowanych danych
add_filter('polski/csv/import_data', function (array $data, array $raw_row): array {
// Walidacja kodu GTIN
if (!empty($data['gpsr_barcode_value'])) {
$gtin = $data['gpsr_barcode_value'];
if (strlen($gtin) !== 13 && strlen($gtin) !== 8) {
$data['gpsr_barcode_value'] = ''; // Odrzuć nieprawidłowy kod
}
}
return $data;
}, 10, 2);
  1. Przejdź do WooCommerce > Produkty > Eksport
  2. W sekcji Kolumny do eksportu zaznacz kolumny z grupy Polski for WooCommerce
  3. Opcjonalnie filtruj po kategorii, statusie lub typie produktu
  4. Kliknij Generuj CSV
Okno terminala
wp wc product_csv_exporter run --filename=produkty-polski.csv --user=admin
// Dodanie własnych kolumn do eksportu
add_filter('polski/csv/export_columns', function (array $columns): array {
$columns['custom_field'] = 'Własne pole';
return $columns;
});
// Wartość własnej kolumny
add_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);

Import automatycznie waliduje dane:

  • GTIN/EAN - sprawdzenie cyfry kontrolnej (algorytm modulo 10)
  • E-mail - walidacja formatu adresu e-mail
  • URL - walidacja formatu URL
  • Kraj - sprawdzenie kodu ISO 3166-1 alpha-2
  • Alergeny - weryfikacja czy wartości należą do zdefiniowanej listy (14 alergenów UE)
  • Nutri-Score - sprawdzenie czy wartość to A, B, C, D lub E

Nieprawidłowe wartości są pomijane i logowane (nie blokują importu). Log dostępny w wynikach importu.

Dla sklepów z wieloma produktami od tego samego producenta:

Okno terminala
# Przygotuj CSV z minimalnymi danymi
# ID,gpsr_manufacturer_name,gpsr_manufacturer_address,gpsr_manufacturer_email

Ustaw domyślne wartości GPSR w WooCommerce > Polski > Zgodność prawna > GPSR > Domyślne wartości. Import uzupełni tylko produkty z pustymi polami GPSR.

Kolumny Polski nie pojawiają się w mapowaniu - upewnij się, że wtyczka Polski for WooCommerce jest aktywna. Kolumny rejestrowane są hookiem woocommerce_csv_product_import_mapping_options.

Import kończy się timeout - zwiększ max_execution_time PHP lub użyj WP-CLI do importu dużych plików.

Znaki specjalne są uszkodzone - upewnij się, że plik CSV jest zapisany w kodowaniu UTF-8 (bez BOM).

Wartości liczbowe nie importują się - separator dziesiętny w pliku CSV powinien być kropką (.), nie przecinkiem.

Zgłaszanie problemów: github.com/wppoland/polski/issues

Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.