Sviluppo di plugin per WordPress: una guida pratica e dettagliata che spiega le tecniche di base e le procedure operative, dall'introduzione all'approfondimento.

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

Fundamenti dello sviluppo di plugin per WordPress e configurazione dell’ambiente di sviluppo

I plugin per WordPress sono pacchetti di codice indipendenti che estendono le funzionalità di base di WordPress. Per iniziare a svilupparli, è necessario prima creare un ambiente di sviluppo locale professionale. Questo solitamente include l’installazione di software per server locali (come XAMPP, MAMP o Local by Flywheel), un editor di codice (come VS Code o PhpStorm), nonché un’installazione di WordPress utilizzata per i test. L’utilizzo di un ambiente locale permette di evitare i rischi che potrebbero derivare dallo sviluppo sperimentale su un sito web pubblico.

Una volta che tutto è pronto, creare il primo plugin è molto semplice. Basta procedere all’interno di WordPress…wp-content/pluginsCrea una nuova cartella all’interno del directory, ad esempio…my-first-pluginSuccessivamente, all’interno di quella cartella, creare un file PHP principale; il nome del file di solito coincide con il nome della cartella stessa. All’inizio di questo file principale devono essere presenti le note di intestazione standard per i plugin, che sono fondamentali affinché WordPress possa riconoscere il plugin.

Struttura obbligatoria del file principale del plugin

Il file principale di un plugin rappresenta il punto di ingresso per l’utilizzo dello stesso; il blocco di commenti presente in cima a tale file contiene una serie di metadati.Plugin NameQuesto è l’unico campo obbligatorio; verrà visualizzato nell’elenco degli plugin presente nell’interfaccia di amministrazione di WordPress. Un plugin di base può contenere soltanto queste informazioni di intestazione, senza alcun codice effettivamente eseguibile.

Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: dal livello principiante a quello avanzato, un tutorial pratico

Ecco un esempio di codice per un file di plugin molto semplice:

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).
<?php
/**
 * Plugin Name: 我的第一个插件
 * Description: 这是一个用于学习的简单WordPress插件。
 * Version: 1.0.0
 * Author: 你的名字
 * License: GPL v2 or later
 * Text Domain: my-first-plugin
 */

Dopo aver salvato il codice, fai login nell’interfaccia di amministrazione di WordPress e vai alla pagina “Plugin”. Lì troverai il nuovo plugin e potrai attivarlo. Anche se al momento non esegue alcuna funzione, questo segna l’inizio ufficiale del processo di sviluppo.

Mecanismo principale: Ganci di azione e filtri

La filosofia fondamentale dello sviluppo di plugin per WordPress è rappresentata dai “Hook” (Ganci), che consentono al tuo codice di interagire con i processi centrali di WordPress in momenti specifici o su dati particolari. I Hook si dividono principalmente in due categorie: le “Actions” (Azioni) e i “Filters” (Filtri).

Gli action hooks eseguono le tue funzioni personalizzate quando si verificano eventi specifici, ad esempio dopo la pubblicazione di un articolo o durante il caricamento dei script nella parte superiore della pagina. Sono utilizzati per eseguire azioni specifiche.add_action()La funzione permette di collegare la propria funzione a un determinato “action hook” (punto di interazione con il sistema).

Utilizzare gli “action hooks” per aggiungere funzionalità.

Ad esempio, se vuoi aggiungere un testo personalizzato nella parte inferiore della pagina del sito web, puoi farlo utilizzando i relativi strumenti o funzionalità disponibili.wp_footerQuesto “action hook” richiede alcune operazioni: innanzitutto, è necessario scrivere una funzione personalizzata nel file principale del plugin, e successivamente utilizzarla per attivare il comportamento desiderato.add_action()Legalo al gancio.

Si consiglia di leggere Imparare a sviluppare plugin per WordPress: creare il tuo primo plugin personalizzato da zero.

Ecco un esempio di implementazione:

function myplugin_add_footer_text() {
    echo '<p style="text-align:center;">Grazie per aver utilizzato il nostro sito web!</p>';
}
add_action( 'wp_footer', 'myplugin_add_footer_text' );

Quando WordPress esegue…wp_footerQuando viene utilizzato il “gancio” (hook), verrà chiamato automaticamente.myplugin_add_footer_text()Funzione: restituisce il testo che hai definito.

Modificare i dati utilizzando gli hook dei filtri

Gli “hook” dei filtri vengono utilizzati per modificare i dati. Agiscono su di essi prima che vengano utilizzati (ad esempio, prima di essere salvati in un database o visualizzati in un browser). Sono progettati appositamente per apportare modifiche ai dati.add_filter()Esistono funzioni per applicare filtri. Ad esempio, se si desidera modificare i titoli di tutti gli articoli, è possibile aggiungere un prefisso prima che vengano visualizzati.

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%

Il codice seguente mostra come aggiungere un prefisso “[Consigliato]” a tutti i titoli degli articoli:

function myplugin_modify_title( $title ) {
    if ( is_single() ) {
        $title = '[推荐] ' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'myplugin_modify_title' );

Creare una pagina di gestione dell’interfaccia di back-end per i plugin.

Molti plugin richiedono di fornire all’utente opzioni di configurazione, il che implica la creazione di menu di gestione e pagine di impostazioni nel backend di WordPress. WordPress mette a disposizione una serie di funzioni per aggiungere elementi al menu principale o ai menu sottostanti.

Aggiungere il menu di gestione di livello superiore

Puoi utilizzare…add_menu_page()La funzione crea un menu di back-end indipendente per il tuo plugin. Questa funzione richiede diversi parametri, tra cui il titolo della pagina, il titolo del menu, i permessi degli utenti, l’alias del menu, nonché una funzione di callback per generare il contenuto della pagina.

Si consiglia di leggere Ti insegnerò passo dopo passo come padroneggiare lo sviluppo di plugin per WordPress partendo da zero.

Qui, la funzione di callback.myplugin_settings_page_htmlÈ responsabile della generazione del contenuto HTML della pagina di configurazione.

Il codice per aggiungere un menu di solito deve essere inserito in un punto specifico.admin_menuQuesto “action hook” viene utilizzato per garantire che l’operazione venga eseguita durante l’inizializzazione dell’interfaccia di gestione.

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.

Creare una pagina di configurazione e un modulo di sicurezza.

Nella funzione di callback della pagina di configurazione, è necessario visualizzare un modulo e gestire il suo invio. WordPress fornisce un’API di configurazione per semplificare questo processo, in grado di gestire in modo sicuro l’ registrazione, il salvataggio e la visualizzazione delle opzioni. Tuttavia, per comprendere i principi di base, possiamo iniziare con un esempio semplice che mostra come gestire manualmente l’invio di un modulo.

Il codice seguente mostra come creare una semplice pagina di configurazione che contiene un campo di input e come salvare i dati in modo sicuro:

function myplugin_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    // 处理表单提交
    if ( isset( $_POST['myplugin_option'] ) ) {
        // 安全检查:验证随机数
        check_admin_referer( 'myplugin_save_settings' );
        // 清理并保存数据
        $option_value = sanitize_text_field( $_POST['myplugin_option'] );
        update_option( 'myplugin_custom_option', $option_value );
        echo '<div class="notice notice-success"><p>Le impostazioni sono state salvate!</p></div>';
    }
    // 获取已保存的值
    $saved_value = get_option( 'myplugin_custom_option', '默认值' );
    ?&gt;
    <div class="wrap">
        <h1>I miei setting per il plugin</h1>
        <form method="post" action="">
            <?php wp_nonce_field( 'myplugin_save_settings' ); ?>
            <label for="myplugin_option">Opzioni:</label>
            <input type="text" id="myplugin_option" name="myplugin_option" value="<?php echo esc_attr( $saved_value ); ?>" />
            <?php submit_button( '保存更改' ); ?>
        <input type="hidden" name="trp-form-language" value="it"/></form>
    </div>
    &lt;?php
}

Sviluppo avanzato e pubblicazione di plugin

Quando le funzionalità di un plugin diventano più complesse, un’organizzazione del codice efficace diventa di fondamentale importanza. Si consiglia di utilizzare la programmazione orientata agli oggetti (OOP) per incapsulare le funzionalità del plugin all’interno di classi. Questo aiuta a evitare conflitti tra i nomi delle funzioni e rende la struttura del codice più chiara e facile da mantenere.

L’internazionalizzazione degli plugin è la chiave per espandersi a livello mondiale. Utilizzarli è essenziale per raggiungere un pubblico più ampio.__()_e()Funzioni come queste avvolgono tutto il testo rivolto all’utente e lo trasmettono tramite…load_plugin_textdomain()La funzione carica i file di traduzione e li configura correttamente all’interno delle note presenti nella parte iniziale del plugin.Text DomainAnche questo è essenziale.

Preparativi prima del rilascio di un plugin

Prima di inviare i plugin al catalogo ufficiale o di distribuirli, è necessario effettuare test approfonditi. Questi includono verifiche sulla compatibilità con diverse versioni di PHP, di WordPress, nonché con svariati temi e combinazioni di plugin. Il codice deve seguire gli standard di codifica di WordPress e essere protetto adeguatamente contro le minacce informatiche; inoltre, tutti gli input forniti dagli utenti devono essere validati, puliti e opportunamente “evasi” (cioè trasformati in un formato sicuro).

Scrivi un codice chiaro per il plug-in.README.txtIl file descrive la sua funzionalità, il metodo di installazione, le domande più comuni, ecc. Infine, il codice viene compresso in un file ZIP, che può essere poi inviato nel catalogo di plugin di WordPress.org o distribuito sul proprio sito web.

Riassumendo

Lo sviluppo di plugin per WordPress inizia dalla comprensione dei meccanismi di hook di base, per poi passare alla creazione di interfacce di gestione, all’organizzazione della struttura del codice e, infine, alla pubblicazione sicura dei plugin stessi. La padronanza dell’utilizzo degli action hook e dei filter hook rappresenta un elemento fondamentale, poiché costituiscono il collegamento con il sistema WordPress stesso. Sia che si tratti di aggiungere una funzionalità semplice o di creare un plugin commerciale complesso, rispettare le norme di codifica sicura, effettuare test approfonditi e prendere in considerazione aspetti legati all’internazionalizzazione sono fattori chiave per il successo. Attraverso la pratica costante, sarà possibile sviluppare plugin per WordPress potenti, stabili e apprezzati dagli utenti.

FAQ - Domande frequenti

È necessario imparare PHP prima di sviluppare plugin?

Sì, possedere una solida conoscenza di base di PHP è una condizione necessaria per lo sviluppo di plugin per WordPress. Infatti, la maggior parte di WordPress stesso e dei suoi plugin è scritta in PHP. È necessario comprendere la grammatica di PHP, le funzioni, le variabili, gli array, il programmazione orientata agli oggetti e altri concetti per poter scrivere e debuggare correttamente il codice dei plugin.

Come posso evitare che i nomi delle funzioni dei miei plugin siano in conflitto con quelli di altri plugin?

La migliore pratica per evitare conflitti tra i nomi delle funzioni è utilizzare la programmazione orientata agli oggetti, incapsulando tutte le funzioni all’interno dei metodi di una classe. Se si utilizza la programmazione procedurale, è necessario aggiungere un prefisso unico a tutti i nomi delle funzioni, solitamente correlato al nome del plugin o a una sua abbreviazione.myplugin_mp_Questo può ridurre notevolmente la possibilità di conflitti di denominazione.

Perché le impostazioni del mio plugin scompaiono dopo aver salvato le modifiche e aver raffrescato la pagina?

Questo problema si verifica solitamente a causa di un mancato controllo corretto dei valori casuali inviati tramite il modulo. Prima di salvare i dati del modulo, è necessario eseguire ulteriori verifiche per garantire l’accuratezza di tali valori.check_admin_referer()wp_verify_nonce()Esiste una funzione per verificare i numeri casuali, al fine di garantire che le richieste provengano da una fonte attendibile e prevenire attacchi di falsificazione delle richieste tra siti (Cross-Site Request Forgery, CSRF). In caso di verifica fallita, WordPress impedirà la salvazione dei dati.

Come posso far sì che il testo del mio plugin venga tradotto in altre lingue?

Devi internazionalizzare tutte le stringhe rivolte all’utente presenti nel plugin. Utilizza…__()La funzione permette di ottenere la traduzione di una stringa, oppure di utilizzarla direttamente._e()La funzione esegue l’output direttamente. Inoltre, è necessario che tale output venga visualizzato anche al momento dell’inizializzazione del plugin (ad esempio, quando il plugin viene caricato o attivato).plugins_loadedChiamata a un “hook” (un meccanismo di interazione programmata).load_plugin_textdomain()Esistono funzioni per caricare i file di lingua corrispondenti. Strumenti come Poedit possono aiutarti nella creazione di tali file..potFile di template e….po/.moFile da tradurre.