CSV import and export
Extensión del importador/exportador CSV de WooCommerce con columnas para datos legales, GPSR, declaraciones medioambientales y otros campos exigidos por la legislación polaca y de la UE.
Campos CSV admitidos
Section titled “Campos CSV admitidos”Campos GPSR (General Product Safety Regulation)
Section titled “Campos GPSR (General Product Safety Regulation)”| Columna CSV | Meta key | Tipo | Descripción |
|---|---|---|---|
gpsr_manufacturer_name | _polski_gpsr_manufacturer_name | string | Nombre del fabricante |
gpsr_manufacturer_address | _polski_gpsr_manufacturer_address | string | Dirección del fabricante |
gpsr_manufacturer_email | _polski_gpsr_manufacturer_email | string | Correo del fabricante |
gpsr_manufacturer_phone | _polski_gpsr_manufacturer_phone | string | Teléfono del fabricante |
gpsr_manufacturer_url | _polski_gpsr_manufacturer_url | string | Sitio web del fabricante |
gpsr_authorized_rep_name | _polski_gpsr_auth_rep_name | string | Nombre del representante autorizado |
gpsr_authorized_rep_address | _polski_gpsr_auth_rep_address | string | Dirección del representante autorizado |
gpsr_authorized_rep_email | _polski_gpsr_auth_rep_email | string | Correo del representante autorizado |
gpsr_safety_info | _polski_gpsr_safety_info | string | Información de seguridad |
gpsr_warnings | _polski_gpsr_warnings | string | Advertencias del producto |
gpsr_barcode_type | _polski_gpsr_barcode_type | string | Tipo de código: EAN, UPC, GTIN |
gpsr_barcode_value | _polski_gpsr_barcode_value | string | Valor del código de barras |
gpsr_product_type | _polski_gpsr_product_type | string | Tipo de producto según GPSR |
gpsr_country_of_origin | _polski_gpsr_country_origin | string | País de origen (código ISO) |
Campos de greenwashing (anti-greenwashing)
Section titled “Campos de greenwashing (anti-greenwashing)”| Columna CSV | Meta key | Tipo | Descripción |
|---|---|---|---|
green_claim_text | _polski_green_claim | string | Contenido de la declaración medioambiental |
green_claim_evidence | _polski_green_evidence | string | Pruebas / justificación |
green_certification_name | _polski_green_cert_name | string | Nombre del certificado |
green_certification_number | _polski_green_cert_number | string | Número del certificado |
green_certification_url | _polski_green_cert_url | string | Enlace al certificado |
green_carbon_footprint | _polski_green_carbon | float | Huella de carbono (kg CO2) |
green_recyclable | _polski_green_recyclable | bool | Si el producto es reciclable |
green_durability_years | _polski_green_durability | int | Durabilidad del producto en años |
Campos de datos de producto
Section titled “Campos de datos de producto”| Columna CSV | Meta key | Tipo | Descripción |
|---|---|---|---|
unit_price | _polski_unit_price | float | Precio unitario |
unit_price_unit | _polski_unit_price_unit | string | Unidad: kg, l, m, ud |
unit_price_base | _polski_unit_price_base | float | Base de conversión |
delivery_time_min | _polski_delivery_min | int | Tiempo mín. de entrega (días) |
delivery_time_max | _polski_delivery_max | int | Tiempo máx. de entrega (días) |
manufacturer_name | _polski_manufacturer | string | Nombre del fabricante |
manufacturer_url | _polski_manufacturer_url | string | URL del fabricante |
gtin | _polski_gtin | string | Código GTIN/EAN |
withdrawal_excluded | _polski_withdrawal_excluded | bool | Excluido del derecho de desistimiento |
withdrawal_reason | _polski_withdrawal_reason | string | Motivo de la exclusión del desistimiento |
Campos de productos alimentarios
Section titled “Campos de productos alimentarios”| Columna CSV | Meta key | Tipo | Descripción |
|---|---|---|---|
energy_kcal | _polski_energy_kcal | float | Energía (kcal/100g) |
energy_kj | _polski_energy_kj | float | Energía (kJ/100g) |
fat | _polski_fat | float | Grasas (g/100g) |
saturated_fat | _polski_saturated_fat | float | Ácidos grasos saturados |
carbohydrates | _polski_carbohydrates | float | Hidratos de carbono (g/100g) |
sugars | _polski_sugars | float | Azúcares (g/100g) |
protein | _polski_protein | float | Proteínas (g/100g) |
salt | _polski_salt | float | Sal (g/100g) |
fiber | _polski_fiber | float | Fibra (g/100g) |
allergens | _polski_allergens | string | Alérgenos (separados por comas) |
nutri_score | _polski_nutri_score | string | Nutri-Score: A, B, C, D, E |
Archivo CSV de ejemplo
Section titled “Archivo CSV de ejemplo”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"Importación CSV
Section titled “Importación CSV”A través del panel de administración
Section titled “A través del panel de administración”- Vaya a WooCommerce > Productos > Importar
- Seleccione el archivo CSV
- En la fase de asignación de columnas, las columnas de Polski for WooCommerce aparecerán automáticamente en la sección Polski for WooCommerce
- Asigne las columnas del CSV a los campos correspondientes
- Ejecute la importación
A través de WP-CLI
Section titled “A través de WP-CLI”wp wc product_csv_importer run /path/to/file.csv --user=adminDe forma programática
Section titled “De forma programática”// 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);Exportación CSV
Section titled “Exportación CSV”A través del panel de administración
Section titled “A través del panel de administración”- Vaya a WooCommerce > Productos > Exportar
- En la sección Columnas a exportar, marque las columnas del grupo Polski for WooCommerce
- Opcionalmente, filtre por categoría, estado o tipo de producto
- Haga clic en Generar CSV
A través de WP-CLI
Section titled “A través de WP-CLI”wp wc product_csv_exporter run --filename=products-polski.csv --user=adminFiltrado de columnas de exportación
Section titled “Filtrado de columnas de exportación”// 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);Validación de la importación
Section titled “Validación de la importación”La importación valida los datos automáticamente:
- GTIN/EAN - verificación del dígito de control (algoritmo módulo 10)
- Correo electrónico - validación del formato de la dirección de correo
- URL - validación del formato de la URL
- País - comprobación del código ISO 3166-1 alpha-2
- Alérgenos - verificación de que los valores pertenecen a la lista definida (14 alérgenos de la UE)
- Nutri-Score - comprobación de que el valor es A, B, C, D o E
Los valores no válidos se registran y se omiten (no bloquean la importación). El registro está disponible tras la importación en la sección de resultados.
Importación masiva de datos GPSR
Section titled “Importación masiva de datos GPSR”Para tiendas con un gran número de productos en las que el fabricante es común a muchos productos:
# Prepare a CSV with minimal data# ID,gpsr_manufacturer_name,gpsr_manufacturer_address,gpsr_manufacturer_emailA continuación, establezca los valores GPSR predeterminados en WooCommerce > Polski > Cumplimiento legal > GPSR > Valores predeterminados. La importación solo rellenará los productos que tengan campos GPSR vacíos.
Resolución de problemas
Section titled “Resolución de problemas”Las columnas de Polski no aparecen en la asignación - asegúrese de que el plugin Polski for WooCommerce esté activo. Las columnas se registran mediante el hook woocommerce_csv_product_import_mapping_options.
La importación agota el tiempo de espera - aumente el valor de max_execution_time de PHP o utilice WP-CLI para importar archivos grandes.
Los caracteres especiales están dañados - asegúrese de que el archivo CSV esté guardado en codificación UTF-8 (sin BOM).
Los valores numéricos no se importan - el separador decimal en el archivo CSV debe ser un punto (.), no una coma.
Notificar problemas: github.com/wppoland/polski/issues