Maestria assoluta nell'importazione dei prodotti WooCommerce: la guida definitiva dai file CSV ai prodotti personalizzati.

Leggere in 3 minuti.
2026-03-13
2026-06-03
2,433
Guadagno delle commissioni quando fai acquisti tramite i link qui sotto, senza alcun costo aggiuntivo per te.

Perché sono necessari strumenti professionali per l’importazione di prodotti in WooCommerce?

Con l’aumento delle dimensioni dei negozi online, aggiungere i prodotti uno per uno in modo manuale diventa sempre meno pratico. Sia che si tratti di migrare i dati di un negozio esistente, di aggiornare in blocco i prezzi degli articoli o di ottenere elenchi di prodotti dai fornitori, funzionalità di importazione dei dati efficienti sono fondamentali. WooCommerce fornisce strumenti di importazione di base sufficienti per gestire situazioni semplici, ma quando si hanno tipi di prodotti complessi, campi personalizzati o grandi quantità di dati, gli sviluppatori devono utilizzare metodi più sistematici e potenti.

Utilizzare gli strumenti e i metodi corretti per l’importazione dei prodotti non solo permette di risparmiare molto tempo, ma contribuisce anche a ridurre al minimo gli errori umani e a garantire l’coerenza dei dati. Che si tratti di prodotti standard e semplici, prodotti personalizzabili, o di tipi di prodotti più avanzati come quelli offerti tramite abbonamenti o pacchetti, un processo di importazione ben strutturato rappresenta la base per l’automazione delle operazioni di e-commerce. In questo articolo verrà analizzato in dettaglio l’intero processo, dalla preparazione di file CSV standard fino al trattamento di prodotti personalizzati tramite programmazione.

Preparare un file CSV standard per l’importazione in batch.

WooCommerce include una funzionalità per importare prodotti tramite file CSV, che rappresenta il metodo più comune e diretto per eseguire operazioni in batch. L’essenziale consiste nella preparazione di un file CSV che segua il formato richiesto da WooCommerce.

Si consiglia di leggere Sviluppo di un sito e-commerce con WooCommerce: costruisci il tuo negozio online da zero.

“Comprendere le colonne di dati dei prodotti principali”

Un file CSV importato in modo base deve contenere alcune colonne chiave. Tra queste,IDTypeLa colonna è la più importante.IDUtilizzato per abbinare prodotti esistenti al fine di effettuare aggiornamenti; se lasciato vuoto, verrà creato un nuovo prodotto.TypeQuindi vengono definiti i tipi di prodotto, ad esempio…simpleProdotti semplici.variableProdotti variabili.grouped(Prodotti raggruppati), ecc. Altre colonne di base includono…SKU(Unità di stoccaggio)Name(Nome del prodotto)Published(Stato di pubblicazione: 1 indica che il contenuto è stato pubblicato.)Description(Descrizione)Regular price(A prezzo normale) e ancheStock(Quantità di stock).

UltaHost – Hosting per siti WordPress
Garanzia di rimborso entro 30 giorni, larghezza di banda illimitata e accesso ai database, protezione gratuita contro gli attacchi DDoS; sconto del 50% per l’acquisto di un piano valido per 3 anni (da 3 a 4 TB di spazio di archiviazione).

Per i prodotti variabili, il processo di importazione si svolge in due fasi: innanzitutto viene importato il prodotto principale, e successivamente le sue varianti.TypeElencato comevariablesottovarianteTypeElencato comevariationE attraverso…ParentLa colonna specifica il SKU del prodotto genitore per stabilire il collegamento.

Trattamento di categorie, etichette e immagini

L’importazione delle categorie e delle etichette deve avvenire seguendo un formato specifico. Per le categorie dei prodotti, è possibile…CategoriesNella tabella vengono utilizzati i segni di formattazione “Categoria genitore > Sottocategoria”; più categorie vengono separate da punti e virgola. Ad esempio: “Abbigliamento > Camicie; Nuovi prodotti estivi”. I tag, invece, vengono posizionati in modo diverso.TagsI valori all’interno della colonna sono separati da virgole inglesi.

L’importazione delle immagini dei prodotti è abbastanza flessibile. È possibile procedere tramite…ImagesNella colonna vengono specificati gli URL delle immagini; più URL vanno separati da virgole. L’URL principale sarà utilizzato come immagine di sfondo. Durante l’importazione, WooCommerce cercherà di scaricare queste immagini e salvarle nella libreria multimediale. Un’altra opzione consiste nell’uploadare le immagini tramite FTP in una directory specifica del server in anticipo, per poi fare riferimento a esse tramite percorsi relativi nel file CSV.

Ecco un esempio di file CSV per un prodotto standard e semplice:

Si consiglia di leggere Tutorial di WooCommerce: una guida completa per creare un sito e-commerce professionale da zero.

ID,Type,SKU,Name,Published,Description,Regular price,Stock,Categories,Images
,simple,T-SHIRT-SM,纯棉简约T恤,1,这是一件舒适的纯棉T恤。,29.99,100,服饰 > 上衣,https://example.com/tshirt.jpg

Utilizzare WP CLI per implementare l’automazione degli importazioni avanzate

Per sviluppatori e utenti avanzati: gli strumenti della riga di comando di WordPressWP-CLIÈ stata fornita un’importazione più potente e scriptabile. È particolarmente adatta all’integrazione nei processi di distribuzione o al trattamento di set di dati di dimensioni estremamente grandi.

Un passaggio di base…wp-cliIl comando per importare un file CSV è il seguente:

wp import products.csv --authors=skip

Ma la pratica più comune è l’utilizzo di script personalizzati. Possiamo scrivere uno script PHP che sfrutta…WP-CLIwp eval-fileIl comando viene eseguito per attuare l’operazione richiesta. Il cuore dello script consiste nell’utilizzo di specifiche istruzioni per guidare il processo di esecuzione.wc_get_product_objectLa funzione crea un oggetto prodotto e ne imposta gli attributi.

hosting.com Hosting condiviso
Prestazioni elevate con CPU AMD EPYC, storage SSD NVMe e LiteSpeed, supporto interno di esperti 24 ore su 24, 7 giorni su 7, misure di sicurezza avanzate, tra cui SSL, brute force, malware e protezione DDoS, risparmi fino a 73%

Ecco un esempio di script PHP che utilizza metodi di programmazione per creare un prodotto semplice:

<?php
// 读取CSV数据
$csvFile = 'products.csv';
if (($handle = fopen($csvFile, 'r')) !== FALSE) {
    $header = fgetcsv($handle); // 读取标题行
    while (($data = fgetcsv($handle)) !== FALSE) {
        $productData = array_combine($header, $data);

// 创建产品对象
        $product = new WC_Product_Simple();
        $product->set_name($productData['Name']);
        $product->set_sku($productData['SKU']);
        $product->set_regular_price($productData['Regular price']);
        $product->set_description($productData['Description']);
        $product->set_stock_quantity($productData['Stock']);
        $product->set_status($productData['Published'] == 1 ? 'publish' : 'draft');

// 处理分类
        $categoryNames = explode(';', $productData['Categories']);
        $categoryIds = [];
        foreach ($categoryNames as $catName) {
            $term = term_exists(trim($catName), 'product_cat');
            if (!$term) {
                $term = wp_insert_term(trim($catName), 'product_cat');
            }
            if (!is_wp_error($term)) {
                $categoryIds[] = (int)$term['term_id'];
            }
        }
        $product->set_category_ids($categoryIds);

$product->save();
        echo "产品已创建/更新: " . $productData['Name'] . " (ID: " . $product->get_id() . ")n";
    }
    fclose($handle);
}
?>

Salva il codice sopra come un file con estensione `.js`.import_products.phpSuccessivamente, è possibile utilizzare un comando per…wp eval-file import_products.phpEsegui.

Utilizzare WP CLI per gestire relazioni complesse

WP-CLIIl punto di forza di questo sistema risiede nella capacità di gestire logiche complesse. Ad esempio, durante l’importazione di prodotti variabili e delle loro proprietà, è possibile creare prima delle proprietà globali, per poi assegnarle ai prodotti e generare le varianti desiderate. Scrivendo script, è possibile controllare in modo preciso l’elaborazione degli errori e la registrazione dei log in ogni fase del processo, realizzando così una pipeline di importazione completamente automatizzata. Per le situazioni in cui è necessario sincronizzare i dati con API esterne (come sistemi ERP o dei fornitori), questo approccio si rivela particolarmente efficace.WP-CLIL’utilizzo di task pianificati (Cron Job) rappresenta la soluzione ideale.

Programmazione per l’elaborazione di prodotti personalizzati e metadati

Quando le colonne standard del file CSV non sono sufficienti per soddisfare le esigenze, ad esempio quando è necessario importare campi personalizzati, tipi di prodotto creati da plugin di terze parti (come i prodotti prenotabili) o metadati complessi, è necessario ricorrere a metodi di programmazione.

Creazione e aggiornamento di prodotti con campi personalizzati

Tutti i dati standard dei prodotti WooCommerce (come prezzi, stock) nonché i dati personalizzati (aggiunti tramite ACF o altri strumenti) vengono infine memorizzati come metadati (Post Meta). Il punto chiave per l’importazione tramite programmazione è utilizzare correttamente questi metadati.set_Metodi seriali e…update_post_metaFunzione.

Supponiamo di avere qualcosa chiamato…custom_batch_numberPer i campi personalizzati, il codice seguente mostra come impostarli durante la creazione di un prodotto:

Hosting condiviso InterServer
Hosting condiviso $2,50 USD al mese, primo mese $0,1 USD codice promozionale tryinterserver, 461 script di applicazioni cloud, installazione con un clic.
// 假设 $product 是一个 WC_Product 对象
$product->set_name('高级定制产品');
$product->set_regular_price(99.99);
$product->save(); // 必须先保存产品以获得ID

// 更新自定义字段(产品元数据)
$product_id = $product->get_id();
update_post_meta($product_id, 'custom_batch_number', 'BATCH-2026-001');
update_post_meta($product_id, '_custom_field', 'value'); // 下划线开头表示隐藏的元数据

È importante notare che alcuni plugin di terze parti definiscono i propri tipi di prodotto. Quando si creano prodotti di questo tipo, è necessario utilizzare le classi corrispondenti.new WC_Product_Booking()E richiama il metodo specifico fornito dal plugin.

Utilizzare gli hook di WooCommerce per estendere le funzionalità di importazione

Per inserire logica personalizzata durante il processo di importazione, WooCommerce mette a disposizione un gran numero di “hook” (punti di interazione). Due degli hook più importanti per queste operazioni sono:woocommerce_new_productwoocommerce_update_productVengono attivati rispettivamente al momento della creazione di un prodotto e dopo che il prodotto viene aggiornato.

Ad esempio, possiamo assegnare automaticamente a un prodotto uno stato di revisione interna dopo averlo importato.

add_action('woocommerce_new_product', 'my_post_import_actions', 10, 2);
add_action('woocommerce_update_product', 'my_post_import_actions', 10, 2);

function my_post_import_actions($product_id, $product) {
    // 自动为所有新导入的产品添加“待审核”标记
    update_post_meta($product_id, '_internal_review_status', 'pending');

// 或者根据特定条件进行处理
    if (strpos($product->get_sku(), 'PREMIUM') !== false) {
        wp_set_object_terms($product_id, 'premium', 'product_tag', true);
    }
}

Inoltre, i “filter hooks”…woocommerce_product_import_pre_insert_product_objectÈ anche estremamente utile, poiché ci permette di modificare i dati degli oggetti del prodotto prima che vengano inseriti nel database. Questo è particolarmente vantaggioso per la formattazione uniforme dei prezzi, la conversione delle unità di misura o la verifica della conformità dei dati.

Riassumendo

L’importazione di prodotti in WooCommerce rappresenta un’abilità che può variare da semplice a complessa, con diversi livelli di difficoltà. La conoscenza delle tecniche di importazione basate sui file CSV standard è fondamentale, poiché è adatta alla maggior parte dei casi di aggiornamento e migrazione in batch. Tuttavia, quando si affrontano compiti ripetitivi o si necessita di integrare il processo con i flussi di lavoro di sviluppo, le competenze richieste diventano più avanzate.WP-CLIL’automazione da riga di comando dimostra tutta la sua potenza. Per i negozi altamente personalizzati, che coinvolgono campi personalizzati, dati di plugin di terze parti o logiche aziendali complesse, l’utilizzo della programmazione in combinazione con gli “hook” di WooCommerce offre la massima flessibilità e controllo. Una strategia di importazione efficace prevede spesso l’uso combinato di questi strumenti: i file CSV vengono utilizzati per le operazioni di batch quotidiane, mentre gli script sono impiegati per gestire esigenze più complesse e personalizzate. La chiave sta nella comprensione approfondita della struttura dei dati di WooCommerce, nonché nel fare sempre un backup completo dei dati esistenti prima di eseguire qualsiasi operazione.

FAQ - Domande frequenti

Come gestire i caratteri speciali e i problemi di codifica presenti nei file CSV?

Assicurarsi che il file CSV venga salvato utilizzando l’encodifica UTF-8: questa è l’unica codifica completamente supportata dall’importatore ufficiale di WooCommerce. Se i dati contengono caratteri speciali come virgole, virgolette o caratteri di nuova riga, è necessario racchiudere l’intero valore di ogni campo tra virgolette doppie in inglese.

Ad esempio, quando nella descrizione sono presenti virgole, queste devono essere scrivute correttamente.“这是一件优质,舒适的产品”Si consiglia di verificare nel editor di testo che le virgolette presenti in tutti i campi siano sempre coppie; questo è un passaggio fondamentale per evitare errori durante l’importazione.

Cosa fare se, durante l’importazione di prodotti variabili, gli attributi non vengono visualizzati o la creazione delle varianti fallisce?

Di solito si tratta di problemi legati al formato CSV o all’ordine di importazione. Prima di tutto, assicurarsi che le proprietà globali siano state impostate correttamente. Durante l’importazione del prodotto padre…Type: variableQuando si tratta di…, è necessario…Attribute 1 nameAttribute 1 value(s)Definire attributi all’interno di colonne, ad esempio…颜色红色,蓝色

In secondo luogo, importare le varianti…Type: variationQuando si utilizza questo strumento, è necessario seguire le procedure indicate per garantire un funzionamento corretto.ParentIndica con precisione lo SKU del prodotto padre, e…Attribute: 颜色In una colonna del genere, vengono specificati i valori dei singoli attributi di quella variante (ad esempio…).红色Infine, una volta completata l’importazione, è necessario accedere alla scheda “Varianti” del prodotto e cliccare su “Creare variante” o “Salvare modifiche”. Solo in questo modo il sistema genererà tutte le possibili combinazioni di varianti in base alle attributi specificati.

Come impostare correttamente le immagini dei prodotti tramite programmazione?

Impostare le immagini dei prodotti tramite programmazione è un po’ più complesso rispetto al semplice indicare l’URL in un file CSV. I passaggi fondamentali sono i seguenti: innanzitutto, è necessario caricare il file immagine nella libreria multimediale di WordPress per ottenere il suo ID di allegato; successivamente, questo ID deve essere assegnato al prodotto corrispondente.

Si può usaremedia_sideload_imageLa funzione scarica un’immagine da un URL e ne crea un allegato. Ecco un esempio di codice:

$image_url = 'https://example.com/product.jpg';
$attach_id = media_sideload_image($image_url, $product_id, '产品图片描述', 'id');
if (!is_wp_error($attach_id)) {
    // 设置为主图
    set_post_thumbnail($product_id, $attach_id);
    // 如需加入产品图库
    // $gallery_ids = array($attach_id);
    // update_post_meta($product_id, '_product_image_gallery', implode(',', $gallery_ids));
}

Come gestire i problemi di timeout del sito web o esaurimento della memoria quando si importano un gran numero di prodotti?

Questo problema è dovuto ai limiti di tempo di esecuzione del server e alle restrizioni di memoria. Per importazioni su larga scala, è assolutamente vietato utilizzare l’interfaccia grafica di WordPress; è necessario ricorrere a metodi alternativi.WP-CLIÈ uno strumento da riga di comando, poiché non è influenzato dalle impostazioni di timeout di PHP.

A livello di scripting, è possibile adottare una strategia di elaborazione in lotti. Ad esempio, si possono leggere e elaborare 100 record CSV alla volta; una volta completata l’elaborazione di questi 100 record, si procede con il loto successivo.sleep(1)Fai una breve pausa e coordinati con gli altri.wp_cache_flush()Cancellare la cache per liberare memoria. Inoltre, prima di eseguire lo script di importazione, è possibile…wp-config.phpÈ stata aggiunta temporaneamente una limitazione alla memoria:define('WP_MEMORY_LIMIT', '512M');Per l’importazione di prodotti in quantità di decine di migliaia o addirittura centinaia di migliaia di unità, si consiglia di operare direttamente sul database o di ricorrere a strumenti più professionali per il trasferimento dei dati.