Guida allo sviluppo di plugin per WooCommerce: crea le tue funzionalità e-commerce personalizzate da zero.

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

Preparativi e allestimento dell'ambiente.

Prima di iniziare a scrivere la prima riga di codice, è necessario preparare un ambiente di sviluppo sicuro e professionale. Questo non solo migliorerà l’efficienza del tuo lavoro, ma garantirà anche che il processo di sviluppo dei tuoi plugin sia stabile e affidabile.

Configurare un ambiente di sviluppo locale

Consigliamo vivamente l’utilizzo di un ambiente di sviluppo locale per la creazione di plugin. Questo ti permetterà di effettuare esperimenti e debug senza influenzare il funzionamento del sito web online. La scelta più diffusa è quella di utilizzare…LocalXAMPPMAMPQuesti strumenti configureranno automaticamente PHP, MySQL e il server web per te. Assicurati che il tuo ambiente soddisfi i requisiti minimi di WooCommerce: la versione di PHP deve essere 7.4 o superiore, mentre quella di MySQL deve essere 5.7 o superiore, oppure MariaDB 10.3 o superiore. Una volta che l’ambiente è pronto, installa una nuova versione di WordPress e attiva l’ultima versione del plugin WooCommerce.

Creare i file di base per un plugin

Il tuo plugin inizierà da un file principale. In WordPress…wp-content/pluginsAll’interno del directory, crea una nuova cartella, ad esempio…my-custom-woocommerceAll’interno di questa cartella, creare un file principale per il plugin, che di solito viene chiamato…my-custom-woocommerce.phpQuesto file rappresenta l’interfaccia di ingresso per il plugin, e le note presenti nella sua parte iniziale sono di fondamentale importanza: indicano a WordPress come riconoscere il tuo plugin.

Si consiglia di leggere Sviluppo di plugin per WordPress: Creare da zero plugin con funzionalità personalizzate

<?php
/**
 * Plugin Name: My Custom WooCommerce Features
 * Plugin URI:  https://yourwebsite.com/
 * Description: 为WooCommerce添加自定义功能,包括产品额外字段和结账流程优化。
 * Version:     1.0.0
 * Author:      Your Name
 * License:     GPL v2 or later
 * Text Domain: my-custom-wc
 */

Questo commento iniziale definisce le informazioni visualizzate dal plugin nell’interfaccia di amministrazione di WordPress. Assicurarsi di…Text DomainImpostarlo come una stringa unica, in modo da poter effettuare successivamente le traduzioni internazionali.

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).

Comprendere il meccanismo di estensione fondamentale di WooCommerce

La forza di WooCommerce risiede nella sua architettura altamente estensibile, che viene realizzata principalmente attraverso gli Action Hooks, i Filter Hooks e la sovrascrittura dei template.

Utilizzare gli action hook e i filter hook.

Gli “hook” (ganci) rappresentano la base fondamentale delle estensioni per WordPress e WooCommerce. Gli hook di azione ti permettono di inserire il tuo codice in momenti specifici del funzionamento del sistema per eseguire determinate operazioni. Ad esempio, puoi utilizzarli dopo che un utente effettua un ordine.woocommerce_thankyouI “hook” permettono di inviare notifiche personalizzate. I “filter hook”, invece, consentono di modificare i dati, alterandone il valore prima che vengano utilizzati o visualizzati. Ad esempio, è possibile utilizzarli per…woocommerce_product_get_priceGli “hook” di filtraggio permettono di modificare dinamicamente i prezzi dei prodotti.

La sintassi di base per aggiungere un’azione o un filtro è la seguente:

add_action( 'hook_name', 'your_callback_function', priority, accepted_args );
add_filter( 'hook_name', 'your_callback_function', priority, accepted_args );

Devi trasformarehook_nameSostituisci con gli hook specifici e poi…your_callback_functionSostituisci con i nomi delle funzioni che hai definito tu stesso.

Si consiglia di leggere Partire da zero: Comprendere i passaggi fondamentali e le migliori pratiche per lo sviluppo di plugin per WordPress

Riscrivere il file del template.

Quando è necessario modificare l’aspetto grafico di WooCommerce (ad esempio, la pagina dei prodotti o la pagina del carrello), modificare direttamente i file dei template principali del plugin non è una pratica corretta, poiché tali modifiche verranno sovrascritte con le future aggiornamenti del plugin. Il modo corretto per procedere è utilizzare la funzionalità di sovrascrittura dei template. Per farlo, è necessario estrarre i file dei template originali di WooCommerce…plugins/woocommerce/templates/Il contenuto del catalogo è stato copiato nella directory dei tuoi temi.your-theme/woocommerce/Nel percorso corrispondente, modifica questa copia del file. WooCommerce caricherà per prima cosa i file di template presenti nel tema. Questa è la prassi standard per personalizzare l’aspetto e la struttura del sito.

Sviluppare moduli funzionali personalizzati

Ora, mettiamo in pratica lo sviluppo di plugin attraverso due esigenze comuni: l’aggiunta di campi personalizzati al prodotto e la modifica della pagina di pagamento.

Aggiungere campi di gestione al prodotto

Supponiamo che tu voglia aggiungere un campo “Numero del produttore” per ogni prodotto. Per prima cosa, è necessario visualizzare questo campo sulla pagina di modifica dei dati del prodotto nel backend. Questo può essere realizzato in diversi modi, a seconda del framework o del sistema di gestione dei dati utilizzato. Ecco alcuni esempi di come farlo:woocommerce_product_options_general_product_dataVengono utilizzati “action hooks” per realizzarlo.

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%
add_action( 'woocommerce_product_options_general_product_data', 'add_custom_product_field' );
function add_custom_product_field() {
    woocommerce_wp_text_input( array(
        'id'          => '_manufacturer_part_number',
        'label'       => __('制造商编号', 'my-custom-wc'),
        'placeholder' => '例如:MPN-12345',
        'desc_tip'    => true,
        'description' => __('产品的唯一制造商部件号。', 'my-custom-wc'),
    ) );
}

Dopo aver aggiunto i campi, è necessario utilizzarli…woocommerce_process_product_metaGli “hook” vengono utilizzati per salvare i valori inseriti dall’utente.

add_action( 'woocommerce_process_product_meta', 'save_custom_product_field' );
function save_custom_product_field( $post_id ) {
    $product = wc_get_product( $post_id );
    $custom_field_value = isset( $_POST['_manufacturer_part_number'] ) ? sanitize_text_field( $_POST['_manufacturer_part_number'] ) : '';
    $product->update_meta_data( '_manufacturer_part_number', $custom_field_value );
    $product->save();
}

Qui abbiamo utilizzato gli oggetti CRUD di WooCommerce (come…).WC_Product(Traduzione: )update_meta_datasaveQuesto è un metodo per archiviare i dati, ed è quello raccomandato per lo sviluppo moderno di siti basati su WooCommerce.

Visualizzare i campi personalizzati sul lato front-end.

Dopo aver salvato i dati, potresti voler visualizzare queste informazioni sul lato frontend della pagina del prodotto. Possiamo sfruttare questa opportunità per…woocommerce_product_additional_information_tab_titlewoocommerce_product_additional_information_tab_contentAggiungi i “hook di filtraggio” alla scheda “Informazioni aggiuntive”.

Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: dall’approccio iniziale alla creazione di plugin funzionali e avanzati

add_filter( 'woocommerce_product_additional_information_tab_title', 'add_custom_field_to_tab_title' );
function add_custom_field_to_tab_title( $title ) {
    // 这里可以修改标签页标题,但我们主要用它来确保内容被加载
    return $title;
}

add_action( 'woocommerce_product_additional_information_tab_content', 'display_custom_field_on_product_page' );
function display_custom_field_on_product_page() {
    global $product;
    $mpn = $product-&gt;get_meta( '_manufacturer_part_number' );
    if ( $mpn ) {
        echo '<p><strong>' . esc_html__( '制造商编号:', 'my-custom-wc' ) . '</strong> '`. esc_html($mpn)`.'</p>';
    }
}

Procedura di pagamento personalizzata

Un’altra richiesta comune è quella di aggiungere un controllo casuale personalizzato sulla pagina di pagamento, ad esempio “Desidero iscrivermi alle newsletter”. Possiamo utilizzare…woocommerce_review_order_before_submitIl campo viene aggiunto prima del pulsante di invio.

add_action( 'woocommerce_review_order_before_submit', 'add_checkout_custom_checkbox' );
function add_checkout_custom_checkbox() {
    woocommerce_form_field( 'subscribe_to_newsletter', array(
        'type'  => 'checkbox',
        'class' => array('form-row-wide'),
        'label' => __('是的,我希望订阅产品新闻和优惠信息。', 'my-custom-wc'),
    ), false );
}

Poi, dobbiamo verificare e elaborare questo campo. Utilizzando…woocommerce_checkout_processUtilizzare i “ganci” (hook) per effettuare la verifica.woocommerce_checkout_update_order_metaIl “gancio” (hook) salva i dati nell’ordine (order).

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.
add_action( 'woocommerce_checkout_process', 'validate_custom_checkout_field' );
function validate_custom_checkout_field() {
    // 这里可以根据业务逻辑添加验证,例如在某些条件下必须勾选
    // if ( ! $_POST['subscribe_to_newsletter'] ) {
    //     wc_add_notice( __( '请勾选订阅框以继续。', 'my-custom-wc' ), 'error' );
    // }
}

add_action( 'woocommerce_checkout_update_order_meta', 'save_custom_checkout_field' );
function save_custom_checkout_field( $order_id ) {
    $value = isset( $_POST['subscribe_to_newsletter'] ) && $_POST['subscribe_to_newsletter'] ? 'yes' : 'no';
    update_post_meta( $order_id, '_subscribe_to_newsletter', sanitize_text_field( $value ) );
}

Test, ottimizzazione e pubblicazione di plugin

Dopo il completamento dello sviluppo, i test approfonditi sono di fondamentale importanza: essi garantiscono la stabilità e la qualità del plugin.

Eseguire un test funzionale completo.

È necessario simulare scenari reali di utilizzo da parte degli utenti per effettuare i test. Creare un ordine di prova e assicurarsi che i campi inseriti (ad esempio, il numero del produttore) vengano correttamente visualizzati sulla pagina del prodotto sul frontend, e che i checkbox selezionati durante il processo di pagamento vengano salvati correttamente nei dati dell’ordine. Nella pagina dei dettagli dell’ordine presente nel backend di WordPress, dovrebbero essere visibili le informazioni personalizzate salvate. Inoltre, è fondamentale verificare la compatibilità con le funzionalità esistenti di WooCommerce, con altri plugin popolari (come gateway di pagamento e calcolatori di spese di spedizione), nonché con diversi temi di WordPress. È essenziale eseguire anche test di rispondenza (responsiveness) su diversi dispositivi (smartphone, tablet, computer desktop).

Ottimizzazione delle prestazioni e considerazioni di sicurezza

Per quanto riguarda le prestazioni, assicurati che il tuo codice venga caricato solo quando necessario. Ad esempio, il codice relativo alla parte di gestione dell’interfaccia amministrativa dovrebbe essere caricato soltanto quando l’utente effettua un’operazione specifica.is_admin()Il codice relativo al front-end viene caricato in base a determinate condizioni; al contrario, il comportamento del codice del front-end può variare in base a tali condizioni. Per le query al database che potrebbero essere eseguite frequentemente, si consiglia di utilizzare la cache o di assicurarsi che tali query siano ottimizzate. La sicurezza è di fondamentale importanza: tutti gli input forniti dagli utenti devono essere puliti e verificati. Si possono utilizzare le funzioni fornite da WordPress e WooCommerce per migliorare la sicurezza e l’efficienza del sito web.sanitize_text_field(), esc_html(), wc_clean()Quando si inviano dati dinamici al front-end, è necessario effettuare l’escape per prevenire gli attacchi di tipo Cross-Site Scripting (XSS).

Preparare la versione finale per la pubblicazione.

Prima della pubblicazione, assicurati che il tuo codice sia in conformità con gli standard di codifica di WordPress. Utilizza strumenti come…PHP_CodeSnifferEffettua i controlli in conformità con il set di regole standard di WordPress. Perfeziona il tuo lavoro.readme.txtPer il file, descrivi in dettaglio le funzionalità del plugin, i passaggi per l’installazione, le domande più comuni e delle immagini che mostrino come utilizzarlo. Prendi in considerazione la possibilità di inviare il tuo plugin al catalogo ufficiale di plugin di WordPress: questo aumenterà notevolmente la sua visibilità e la sua credibilità. Prima di inviarlo, assicurati di aver completato l’ultima revisione del codice e di essere pronto a fornire aggiornamenti e supporto in futuro.

Riassumendo

Lo sviluppo di plugin per WooCommerce rappresenta un processo che consente di trasformare esigenze commerciali specifiche in funzionalità elettroniche di vendita efficaci. Studiando in modo sistematico i meccanismi di estensione offerti da questo framework – come gli “hook”, la sovrascrittura dei template e le operazioni sui dati CRUD (Create, Read, Update, Delete) – gli sviluppatori possono personalizzare ogni aspetto del funzionamento del sito, dalla gestione dei prodotti fino al processo di pagamento, in modo sicuro ed efficiente. La chiave del successo risiede nell’adottare le migliori pratiche: sviluppare il codice in un ambiente locale sicuro, scrivere codice mantenibile e sicuro, eseguire test approfonditi in diversi contesti, e fornire infine documentazione chiara e professionale agli utenti potenziali. Acquisendo queste competenze fondamentali, sarai in grado di creare estensioni per WooCommerce che non solo soddisfano le esigenze degli utenti, ma sono anche stabili, professionali e facilmente espandibili, migliorando così la competitività del tuo sito web.

FAQ - Domande frequenti

Quali sono le conoscenze preliminari necessarie per sviluppare un plugin per WooCommerce con il codice “###”?

È necessario disporre di una conoscenza di base della lingua di programmazione PHP e di essere familiari con i concetti della programmazione orientata agli oggetti. Inoltre, è essenziale comprendere la struttura di base di WordPress (come gli “hook”, i “shortcodes” e i tipi di articoli personalizzabili). Conoscere HTML, CSS e JavaScript di base (in particolare jQuery) sarà utile per la personalizzazione delle interfacce grafiche front-end.

Come posso trovare il hook specifico di WooCommerce di cui ho bisogno?

I documenti ufficiali per gli sviluppatori di WooCommerce rappresentano il punto di partenza ideale per trovare i “hook” (meccanismi di interazione tra moduli del sistema), poiché forniscono un indice completo di tali hook. Inoltre, è possibile effettuare ricerche direttamente nel codice sorgente dei plugin per WooCommerce.do_actionapply_filtersScopri tutti gli hook disponibili. Molte comunità di sviluppatori e blog hanno anche compilato elenchi degli hook più utilizzati per WooCommerce, che possono essere utilizzati come riferimento rapido.

Ho modificato i file del plugin, ma perché non vedo alcun cambiamento sul sito web?

Questo problema è solitamente causato dal cache. Per risolverlo, verifica e elimina gradualmente i seguenti tipi di cache: il cache degli oggetti WordPress (se utilizzi strumenti come Redis o Memcached), i plugin per il cache delle pagine (ad esempio W3 Total Cache o WP Rocket), il cache lato server (come OPcache), nonché il cache del tuo browser. Durante il processo di sviluppo, ti consigliamo di disabilitare tutti i meccanismi di cache per garantire che le modifiche apportate al codice vengano applicate immediatamente.

Come posso assicurarmi che il mio plugin personalizzato sia compatibile con le future aggiornamenti di WooCommerce?

Evitare di modificare i file di codice sorgente di WooCommerce è un principio fondamentale. Si consiglia di utilizzare esclusivamente gli strumenti forniti ufficialmente, come gli hook, le API e i meccanismi di ri-scrittura dei template, per lo sviluppo dei propri progetti. È importante seguire attentamente i log di aggiornamento di WooCommerce, in particolare le notifiche relative alle funzioni o ai metodi che saranno rimossi nelle versioni future. Inoltre, è consigliabile eseguire regolarmente test di compatibilità utilizzando le versioni beta di WooCommerce in un ambiente di test, al fine di individuare eventuali problemi in anticipo.

È possibile creare tabelle di database personalizzate all’interno di un plugin per WooCommerce?

Certo, ma di solito non rappresenta la soluzione preferibile. WooCommerce e WordPress offrono sistemi di archiviazione dei metadati molto potenti…wp_postmeta, wp_usermeta, wp_commentmetaPer la maggior parte delle esigenze di espansione, questo è sufficiente. Si considera la creazione di tabelle personalizzate soltanto quando è necessario memorizzare dati altamente strutturati, quando sono richieste query complesse e quando la quantità di dati è molto elevata. Se proprio è necessario crearle, si prega di utilizzare…dbDelta()Esistono funzioni per garantire che la creazione e l’aggiornamento della struttura dei database avvengano in modo sicuro.