Перейти до вмісту

Iмпорт та експорт CSV

Розширення iмпортера/експортера CSV WooCommerce колонками правових даних, GPSR, екологiчних заяв та iнших полiв, необхiдних за польським та європейським правом.

Поля GPSR (General Product Safety Regulation)

Section titled “Поля GPSR (General Product Safety Regulation)”
Колонка CSVMeta keyТипОпис
gpsr_manufacturer_name_polski_gpsr_manufacturer_namestringНазва виробника
gpsr_manufacturer_address_polski_gpsr_manufacturer_addressstringАдреса виробника
gpsr_manufacturer_email_polski_gpsr_manufacturer_emailstringE-mail виробника
gpsr_manufacturer_phone_polski_gpsr_manufacturer_phonestringТелефон виробника
gpsr_manufacturer_url_polski_gpsr_manufacturer_urlstringВебсайт виробника
gpsr_authorized_rep_name_polski_gpsr_auth_rep_namestringНазва уповноваженого представника
gpsr_authorized_rep_address_polski_gpsr_auth_rep_addressstringАдреса уповноваженого представника
gpsr_authorized_rep_email_polski_gpsr_auth_rep_emailstringE-mail уповноваженого представника
gpsr_safety_info_polski_gpsr_safety_infostringIнформацiя про безпеку
gpsr_warnings_polski_gpsr_warningsstringПопередження щодо продукту
gpsr_barcode_type_polski_gpsr_barcode_typestringТип коду: EAN, UPC, GTIN
gpsr_barcode_value_polski_gpsr_barcode_valuestringЗначення штрих-коду
gpsr_product_type_polski_gpsr_product_typestringТип продукту за GPSR
gpsr_country_of_origin_polski_gpsr_country_originstringКраiна походження (код ISO)

Поля greenwashing (анти-greenwashing)

Section titled “Поля greenwashing (анти-greenwashing)”
Колонка CSVMeta keyТипОпис
green_claim_text_polski_green_claimstringЗмiст екологiчної заяви
green_claim_evidence_polski_green_evidencestringДокази / обгрунтування
green_certification_name_polski_green_cert_namestringНазва сертифiкату
green_certification_number_polski_green_cert_numberstringНомер сертифiкату
green_certification_url_polski_green_cert_urlstringПосилання на сертифiкат
green_carbon_footprint_polski_green_carbonfloatВуглецевий слiд (кг CO2)
green_recyclable_polski_green_recyclableboolЧи пiдлягає продукт переробцi
green_durability_years_polski_green_durabilityintДовговiчнiсть продукту в роках
Колонка CSVMeta keyТипОпис
unit_price_polski_unit_pricefloatОдинична цiна
unit_price_unit_polski_unit_price_unitstringОдиниця: kg, l, m, szt
unit_price_base_polski_unit_price_basefloatБаза перерахунку
delivery_time_min_polski_delivery_minintМiн. час доставки (днi)
delivery_time_max_polski_delivery_maxintМакс. час доставки (днi)
manufacturer_name_polski_manufacturerstringНазва виробника
manufacturer_url_polski_manufacturer_urlstringURL виробника
gtin_polski_gtinstringКод GTIN/EAN
withdrawal_excluded_polski_withdrawal_excludedboolВиключений з права на вiдмову
withdrawal_reason_polski_withdrawal_reasonstringПричина виключення з вiдмови

Поля харчових продуктiв

Section titled “Поля харчових продуктiв”
Колонка CSVMeta keyТипОпис
energy_kcal_polski_energy_kcalfloatЕнергiя (kcal/100g)
energy_kj_polski_energy_kjfloatЕнергiя (kJ/100g)
fat_polski_fatfloatЖири (g/100g)
saturated_fat_polski_saturated_fatfloatНасиченi жирнi кислоти
carbohydrates_polski_carbohydratesfloatВуглеводи (g/100g)
sugars_polski_sugarsfloatЦукри (g/100g)
protein_polski_proteinfloatБiлок (g/100g)
salt_polski_saltfloatСiль (g/100g)
fiber_polski_fiberfloatКлiтковина (g/100g)
allergens_polski_allergensstringАлергени (через кому)
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","[email protected]","EAN","5901234123457","PL",49.99,"szt",2,5,"XYZ"
456,SKU-002,"Olej rzepakowy 1L","Olejarnia ABC","ul. Polna 5, 60-001 Poznań","[email protected]","EAN","5901234567890","PL",12.99,"l",1,3,"ABC"

Через панель адмiнiстратора

Section titled “Через панель адмiнiстратора”
  1. Перейдiть до WooCommerce > Продукти > Iмпорт
  2. Виберiть файл CSV
  3. На етапi зiставлення колонок - колонки Polski for WooCommerce з’являться автоматично в секцii Polski for WooCommerce
  4. Зiставте колонки CSV з вiдповiдними полями
  5. Запустiть iмпорт
Okno terminala
wp wc product_csv_importer run /sciezka/do/pliku.csv --user=admin
// Hook для модифікації імпортованих даних
add_filter('polski/csv/import_data', function (array $data, array $raw_row): array {
// Валідація коду GTIN
if (!empty($data['gpsr_barcode_value'])) {
$gtin = $data['gpsr_barcode_value'];
if (strlen($gtin) !== 13 && strlen($gtin) !== 8) {
$data['gpsr_barcode_value'] = ''; // Відхилити некоректний код
}
}
return $data;
}, 10, 2);

Через панель адмiнiстратора

Section titled “Через панель адмiнiстратора”
  1. Перейдiть до WooCommerce > Продукти > Експорт
  2. У секцii Колонки для експорту позначте колонки з групи Polski for WooCommerce
  3. За бажанням фiльтруйте за категорiєю, статусом або типом продукту
  4. Натиснiть Генерувати CSV
Okno terminala
wp wc product_csv_exporter run --filename=produkty-polski.csv --user=admin

Фiльтрацiя колонок експорту

Section titled “Фiльтрацiя колонок експорту”
// Додавання власних колонок до експорту
add_filter('polski/csv/export_columns', function (array $columns): array {
$columns['custom_field'] = 'Власне поле';
return $columns;
});
// Значення власної колонки
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);

Iмпорт автоматично валiдує данi:

  • GTIN/EAN - перевiрка контрольної цифри (алгоритм модуль 10)
  • E-mail - валiдацiя формату адреси e-mail
  • URL - валiдацiя формату URL
  • Краiна - перевiрка коду ISO 3166-1 alpha-2
  • Алергени - верифiкацiя чи значення належать до визначеного списку (14 алергенiв ЄС)
  • Nutri-Score - перевiрка чи значення - A, B, C, D або E

Некоректнi значення логуються та пропускаються (не блокують iмпорт). Лог доступний пiсля iмпорту в секцii результатiв.

Масовий iмпорт даних GPSR

Section titled “Масовий iмпорт даних GPSR”

Для магазинiв з великою кiлькiстю продуктiв, де виробник є спiльним для багатьох продуктiв:

Okno terminala
# Підготуйте CSV з мінімальними даними
# ID,gpsr_manufacturer_name,gpsr_manufacturer_address,gpsr_manufacturer_email

Потiм встановiть стандартнi значення GPSR в WooCommerce > Polski > Юридична вiдповiднiсть > GPSR > Стандартнi значення. Iмпорт доповнить лише тi продукти, якi мають порожнi поля GPSR.

Колонки Polski не з’являються в зiставленнi - переконайтеся, що плагiн Polski for WooCommerce активний. Колонки реєструються хуком woocommerce_csv_product_import_mapping_options.

Iмпорт завершується таймаутом - збiльшiть max_execution_time PHP або використовуйте WP-CLI для iмпорту великих файлiв.

Спецiальнi символи пошкодженi - переконайтеся, що файл CSV збережений у кодуваннi UTF-8 (без BOM).

Числовi значення не iмпортуються - десятковий роздiлювач у файлi CSV повинен бути крапкою (.), а не комою.

Повiдомлення про проблеми: github.com/wppoland/polski/issues

Ця сторінка має виключно інформаційний характер і не є юридичною консультацією. Перед впровадженням зверніться до юриста. Polski for WooCommerce - це програмне забезпечення з відкритим кодом (GPLv2), що надається без гарантій.