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
Sección titulada «Campos CSV admitidos»| Columna CSV | Meta key | Tipo | Descripción |
|---|---|---|---|
polski_unit_price_base |
_polski_unit_price_base |
float | Precio unitario básico |
polski_unit_price_unit |
_polski_unit_price_unit |
string | unidad de precio unitario |
polski_unit_price_amount |
_polski_unit_price_product_amount |
float | Cantidad de producto |
polski_delivery_time |
_polski_delivery_time_id |
int | ID de tiempo de entrega |
polski_gpsr_responsible |
_polski_gpsr_responsible |
string | Persona responsable (GPSR) |
polski_power_supply |
_polski_power_supply |
string | Fuente de alimentación |
polski_defect_description |
_polski_defect_description |
string | Descripción del defecto |
polski_withdrawal_exempt |
_polski_withdrawal_exempt |
bool | Exención del derecho de desistimiento |
polski_ingredients |
_polski_ingredients |
string | Ingredientes |
polski_nutrients |
_polski_nutrients |
string | Valores nutricionales |
polski_nutrient_reference_unit |
_polski_nutrient_reference_unit |
string | Cantidad de referencia nutricional |
polski_nutri_score |
_polski_nutri_score |
string | Puntuación nutricional |
polski_alcohol_content |
_polski_alcohol_content |
float | Contenido de alcohol |
polski_place_of_origin |
_polski_place_of_origin |
string | País de origen |
polski_net_filling |
_polski_net_filling_quantity |
string | Contenido neto |
polski_gpsr_manufacturer_name |
_polski_gpsr_manufacturer_name |
string | GPSR - Nombre del fabricante |
polski_gpsr_manufacturer_address |
_polski_gpsr_manufacturer_address |
string | GPSR - Dirección del fabricante |
polski_gpsr_manufacturer_contact |
_polski_gpsr_manufacturer_contact |
string | GPSR - Manufacturer contact |
polski_gpsr_importer_name |
_polski_gpsr_importer_name |
string | GPSR - Nombre del importador |
polski_gpsr_importer_address |
_polski_gpsr_importer_address |
string | GPSR - Dirección del importador |
polski_gpsr_importer_contact |
_polski_gpsr_importer_contact |
string | GPSR - Importer contact |
polski_gpsr_responsible_person |
_polski_gpsr_responsible_person |
string | GPSR - Persona responsable |
polski_gpsr_responsible_address |
_polski_gpsr_responsible_address |
string | GPSR - Responsible person address |
polski_gpsr_responsible_contact |
_polski_gpsr_responsible_contact |
string | GPSR - Responsible person contact |
polski_gpsr_product_identifier |
_polski_gpsr_product_identifier |
string | GPSR - Identificador de producto |
polski_gpsr_safety_warnings |
_polski_gpsr_safety_warnings |
string | GPSR - Advertencias de seguridad |
polski_gpsr_instructions |
_polski_gpsr_instructions |
string | GPSR - Instrucciones de seguridad |
polski_durability_guarantee_months |
_polski_durability_guarantee_months |
int | Garantía de durabilidad (meses) |
polski_update_period_months |
_polski_update_period_months |
int | Actualizaciones gratuitas del software (meses) |
polski_repair_info |
_polski_repair_info |
string | Información sobre reparación |
polski_gtin |
_polski_gtin |
string | GTIN / EAN (fallback) |
polski_green_claim_basis |
_polski_green_claim_basis |
string | Base de la reclamación ambiental |
polski_green_claim_cert_url |
_polski_green_claim_cert_url |
string | Enlace certificado ambiental |
polski_green_claim_expiry |
_polski_green_claim_expiry |
string | Caducidad del certificado ambiental |
Archivo CSV de ejemplo
Sección titulada «Archivo CSV de ejemplo»ID,SKU,Name,polski_gpsr_manufacturer_name,polski_gpsr_manufacturer_address,polski_gpsr_manufacturer_contact,polski_gtin,polski_place_of_origin,polski_unit_price_base,polski_unit_price_unit,polski_delivery_time123,SKU-001,"Cotton T-shirt","Producer XYZ Sp. z o.o.","ul. Fabryczna 1, 00-001 Warsaw","[email protected]","5901234123457","PL",1,"szt",12456,SKU-002,"Rapeseed oil 1L","Olejarnia ABC","ul. Polna 5, 60-001 Poznan","[email protected]","5901234567890","PL",1,"l",8Importación CSV
Sección titulada «Importación CSV»A través del panel de administración
Sección titulada «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
Sección titulada «A través de WP-CLI»wp wc product_csv_importer run /path/to/file.csv --user=adminDe forma programática
Sección titulada «De forma programática»// El plugin no añade ningún filtro de importación propio. Las columnas las// escribe el hook de WooCommerce, así que gana lo que se ejecute después.add_filter('woocommerce_product_import_inserted_product_object', function ($product, $data) { if (! empty($data['polski_gtin']) && strlen((string) $data['polski_gtin']) !== 13) { $product->update_meta_data('_polski_gtin', ''); } return $product;}, 20, 2);Exportación CSV
Sección titulada «Exportación CSV»A través del panel de administración
Sección titulada «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
Sección titulada «A través de WP-CLI»wp wc product_csv_exporter run --filename=products-polski.csv --user=adminFiltrado de columnas de exportación
Sección titulada «Filtrado de columnas de exportación»// Las columnas se registran con los propios hooks de exportación de// WooCommerce, así que añade las tuyas igual que lo hace el plugin.add_filter('woocommerce_product_export_column_names', function (array $columns): array { $columns['custom_field'] = 'Campo propio'; return $columns;});
add_filter('woocommerce_product_export_product_column_custom_field', function ($value, $product) { return $product->get_meta('_my_custom_field');}, 10, 2);Qué comprueba el importador
Sección titulada «Qué comprueba el importador»Muy poco, y es intencionado. Cada columna asignada pasa por
sanitize_text_field() de WordPress y se guarda en el producto tal cual. La
única excepción es la columna de valores nutricionales, que se lee desde su
lista nombre=valor y vuelve a la estructura que el plugin almacena.
Nada verifica el dígito de control del GTIN, una dirección de correo, un código de país, el nombre de un alérgeno ni la letra del Nutri-Score, y no se genera ningún registro de importación aparte. Un valor incorrecto se importa como valor incorrecto, así que revisa el archivo antes de la importación, no después.
Repetir los mismos datos GPSR en muchos productos
Sección titulada «Repetir los mismos datos GPSR en muchos productos»No hay una pantalla de valores por defecto en la que apoyarse: los ajustes GPSR cubren el modo de visualización y el título de la sección, nada más. Para asignar el mismo fabricante a muchos productos, repite la columna en cada fila del CSV, algo que una hoja de cálculo rellena de un solo arrastre:
ID,polski_gpsr_manufacturer_name,polski_gpsr_manufacturer_address,polski_gpsr_manufacturer_contactUna importación actualiza solo las columnas presentes en el archivo, así que un CSV con únicamente el ID y las columnas GPSR deja intactos los demás campos del producto.
Resolución de problemas
Sección titulada «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