Guida introduttiva allo sviluppo di plugin per WordPress: crea il tuo primo modulo di funzionalità personalizzata da zero.

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

Perché è necessario sviluppare plugin personalizzati?

Nell’ecosistema di WordPress, i plugin rappresentano il cuore delle funzionalità estensive per i siti web. Sebbene esistano migliaia di plugin pronti all’uso sul mercato, lo sviluppo di plugin personalizzati offre vantaggi unici. Quando le tue esigenze sono molto specifiche, o quando l’insieme di plugin disponibili risulta eccessivamente complesso e inefficiente, un plugin su misura rappresenta la soluzione ideale. I plugin personalizzati si adattano perfettamente alla logica del tuo business, evitando possibili conflitti derivanti dall’utilizzo di più plugin, e di solito offrono prestazioni migliori rispetto ai plugin multi-funzionali disponibili in commercio. Ancora più importante: sviluppandoli personalmente, hai il pieno controllo sulla qualità del codice e sulla sicurezza del sito.

Dal punto di vista dell’apprendimento, comprendere i meccanismi di sviluppo dei plugin rappresenta una tappa essenziale per padroneggiare a fondo WordPress. Ti permette di passare da “utente” a “creatore”, offrendoti la possibilità di affrontare in modo più flessibile le varie esigenze di personalizzazione, e di gettare le basi solide per lo sviluppo di prodotti futuri o per la tua carriera professionale.

Preparazioni: Creazione dell’ambiente di sviluppo

Prima di iniziare a scrivere il codice, è essenziale disporre di un ambiente di sviluppo stabile e isolato. Questo non solo proteggerà il tuo sito web in produzione, ma ti permetterà anche di testare e debuggarlo in totale libertà.

Configurazione dell’ambiente di sviluppo locale

Si consiglia di utilizzare pacchetti software per server locali, come Local by Flywheel, XAMPP o MAMP. Questi strumenti simulano un ambiente di server web (Apache/Nginx, MySQL, PHP) sul tuo computer, permettendoti di sviluppare il tuo sito in modalità offline. Una volta completata l’installazione, crea un nuovo sito WordPress come “sandbox” (un ambiente di prova).

Scegliere un editor di codice

Un potente editor di codice può migliorare notevolmente l’efficienza dello sviluppo. Visual Studio Code è attualmente una scelta molto popolare: è leggero, gratuito e dispone di un’ampia gamma di estensioni, tra cui funzionalità di evidenziazione del codice specifiche per PHP e WordPress, suggerimenti per la scrittura del codice e strumenti di debug. PHPStorm è un altro potente ambiente di sviluppo integrato (IDE) che offre funzionalità più avanzate per l’analisi e la riorganizzazione del codice.

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

Non ho bisogno di un amico che cambia ogni volta che soffia il vento.

Struttura dei file di base dei plugin

Il plugin più semplice per WordPress può consistere semplicemente in un unico file PHP principale. Tuttavia, i plugin standard presentano solitamente una struttura di file e di directory ben definita. All’interno della directory di installazione di WordPress locale… wp-content/plugins All’interno della cartella, crea una nuova cartella per il tuo plugin, ad esempio… my-first-pluginQuesta cartella conterrà tutti i file degli plugin.

Costruisci il tuo primo plugin: “Hello Admin”.”

Creeremo un plugin chiamato “Hello Admin” il cui funzionamento è molto semplice: visualizza un messaggio di benvenuto personalizzato in cima al pannello di controllo del backend di WordPress. Questo esempio illustra gli elementi fondamentali dello sviluppo di plugin: il file principale, gli “hook” (meccanismi di integrazione) e le funzioni di base.

Creare il file del plugin principale

Nella tua cartella dei plugin… my-first-plugin All’interno, creare un elemento chiamato… my-first-plugin.php Questo è il file di ingresso del plugin. Per aprirlo, aggiungi innanzitutto le note di informazione standard relative al plugin nella parte iniziale del file. Queste note sono necessarie affinché WordPress possa riconoscere il plugin.

<?php
/**
 * Plugin Name:       Hello Admin
 * Plugin URI:        https://yourwebsite.com/hello-admin
 * Description:       一个简单的插件,用于在管理后台显示欢迎信息。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       hello-admin
 */

Utilizzare degli “hook” per aggiungere funzionalità.

Il meccanismo fondamentale di WordPress sono i “Hook” (Ganci), che permettono di inserire il proprio codice in momenti specifici del funzionamento del sistema. Esistono principalmente due tipi di Hook: gli Action Hooks e i Filter Hooks. Per visualizzare il contenuto nell’interfaccia di amministrazione, è necessario utilizzare gli Action Hooks.

Quando WordPress carica la parte superiore dell’interfaccia di amministrazione, fornisce un elemento denominato… admin_notices Ganci di azione (action hooks): possiamo utilizzarli per… add_action() La funzione monta la nostra funzione personalizzata su questo “hook”.

Aggiungi il seguente codice sotto le note del file principale:

// 钩子函数:在管理后台显示通知
function hello_admin_display_message() {
    // 确保只对管理员显示,使用 current_user_can() 检查权限
    if ( current_user_can( 'manage_options' ) ) {
        echo '<div class="notice notice-success is-dismissible"><p>Ben tornato, amministratore! Il plugin “Hello Admin” che ha personalizzato è in funzione.</p></div>';
    }
}
// 将我们的函数挂载到 ‘admin_notices’ 这个动作钩子上
add_action( 'admin_notices', 'hello_admin_display_message' );

Test e attivazione

Salva il file. Ora, accedi al pannello di amministrazione del tuo sito WordPress locale (di solito si trova all’indirizzo…). /wp-adminNaviga al menu “Plugin” e dovresti riuscire a vedere “Hello Admin” nell’elenco dei plugin. Fai clic su “Abilita”. Dopo averlo abilitato, rinfresca la pagina del pannello di controllo: in cima alla pagina apparirà una finestra di conferma verde che indica il successo dell’operazione, mostrando il messaggio di benvenuto che hai definito. Questo significa che il tuo primo plugin è stato avviato con successo!

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%

Aggiungere opzioni configurabili al plugin

Un plugin che mostra soltanto informazioni fisse ha una limitata utilità. Il passo successivo è renderlo configurabile, permettendo agli amministratori di personalizzare i messaggi da visualizzare attraverso una pagina di impostazioni. Questo richiede la creazione di una pagina del menu di gestione, l’elaborazione dei dati provenienti dai form e l’utilizzo dell’API delle opzioni per archiviare tali dati.

Non ho bisogno di un amico che cambia ogni volta che soffia il vento.

Creare la pagina del menu di gestione

Dobbiamo aggiungere una pagina di configurazione nell’interfaccia di amministrazione. Questo può essere realizzato tramite… add_menu_page()add_submenu_page() Implementazione della funzione: continuiamo ad aggiungere codice nel file principale del plugin.

Innanzitutto, creare una funzione per generare il contenuto HTML della pagina di configurazione e registrare un elemento del menu:

// 创建插件设置页面
function hello_admin_add_settings_page() {
    add_options_page(
        'Hello Admin 设置', // 页面标题
        'Hello Admin',      // 菜单标题
        'manage_options',   // 所需权限
        'hello-admin',      // 菜单slug
        'hello_admin_render_settings_page' // 用于渲染页面的回调函数
    );
}
add_action( 'admin_menu', 'hello_admin_add_settings_page' );
// 渲染设置页面的HTML
function hello_admin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Ciao, Admin… Quali sono le impostazioni da configurare?</h1>
        <form method="post" action="/it/options.php/" data-trp-original-action="options.php">
            <?php
            settings_fields( 'hello_admin_settings_group' ); // 设置组名称
            do_settings_sections( 'hello-admin' ); // 页面slug
            submit_button(); // 提交按钮
            ?>
        <input type="hidden" name="trp-form-language" value="it"/></form>
    </div>
    &lt;?php
}

Impostazioni di registrazione, campi e archiviazione dei dati

Successivamente, dobbiamo utilizzare l’API Settings di WordPress per registrare, verificare e salvare in modo sicuro le nostre opzioni. Creiamo un’altra funzione e… admin_init Eseguitelo sul gancio.

// 初始化设置
function hello_admin_settings_init() {
    // 注册一个设置,将其存储在 wp_options 表中
    register_setting( 'hello_admin_settings_group', 'hello_admin_custom_message', 'sanitize_text_field' );
// 在页面上添加一个设置区域(可以省略,此处为清晰而加)
    add_settings_section(
        'hello_admin_section',
        '自定义消息设置',
        null, // 可选的区域描述回调函数
        'hello-admin'
    );
// 在区域中添加一个字段
    add_settings_field(
        'hello_admin_message_field',
        '欢迎消息',
        'hello_admin_message_field_callback',
        'hello-admin',
        'hello_admin_section'
    );
}
add_action( 'admin_init', 'hello_admin_settings_init' );
// 渲染消息输入字段
function hello_admin_message_field_callback() {
    $message = get_option( 'hello_admin_custom_message', '欢迎回来,管理员!' ); // 获取已保存的值,没有则用默认值
    echo '<input type="text" name="hello_admin_custom_message" value="' . esc_attr( $message ) . '" class="regular-text" />';
    echo '<p class="description">Inserisci qui il messaggio di benvenuto che desideri visualizzare nell’interfaccia di amministrazione.</p>';
}

Modifica la funzione di visualizzazione in modo da utilizzare gli elementi di configurazione.

Infine, dobbiamo modificare la funzione iniziale responsabile dell’visualizzazione delle notifiche. hello_admin_display_message()Lascia che venga selezionato dalle opzioni del database. hello_admin_custom_message Il contenuto viene letto da un file esterno, anziché essere codificato direttamente nel codice sorgente.

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.
function hello_admin_display_message() {
    if ( current_user_can( 'manage_options' ) ) {
        $custom_message = get_option( 'hello_admin_custom_message', '欢迎回来,管理员!' ); // 获取自定义消息
        if ( ! empty( $custom_message ) ) {
            echo '<div class="notice notice-success is-dismissible"><p>'`. esc_html($custom_message)`.'</p></div>';
        }
    }
}

Ora, salva tutte le modifiche apportate. Torna al pannello di controllo di WordPress e troverai l’opzione “Hello Admin” nel menu “Impostazioni”. Accedi a questa pagina, modifica il messaggio visualizzato e salva i cambiamenti. Riavvia il pannello di controllo (dashboard) e noterai che il messaggio mostrato è ora quello che hai appena impostato. A questo punto, il plugin personalizzato con funzionalità di configurazione di base è pronto all’uso.

Best Practices for Plugin Development e Successivi Passaggi

Dopo aver implementato le funzionalità di base, seguire le migliori pratiche renderà il tuo plugin più professionale, sicuro e facile da mantenere.

Non ho bisogno di un amico che cambia ogni volta che soffia il vento.

La sicurezza è la priorità assoluta: verificate, escape e pulite sempre i dati inseriti dagli utenti. Utilizzate le funzioni fornite da WordPress per garantire la sicurezza del vostro sito web. esc_html(), esc_attr(), sanitize_text_field(), wp_nonce_field() Eccetera. Non fidarsi mai direttamente dei dati provenienti dagli utenti o dai database.

Organizzazione del codice e commenti: Man mano che le funzionalità dei plugin aumentano, è consigliabile suddividere il codice in classi o file diversi. L’utilizzo della programmazione orientata agli oggetti (OOP) permette di migliorare la riutilizzabilità e l’organizzazione del codice stesso. Aggiungi commenti chiari alle tue funzioni e classi: questo sarà di fondamentale importanza sia per te in futuro che per eventuali collaboratori.

Preparazione per l’internazionalizzazione: Se il tuo plugin è destinato a essere pubblicato, dovrebbe supportare l’internazionalizzazione (i18n). Ciò significa che dovrai… __()_e() Le funzioni in questione avvolgono tutte le stringhe destinate all’utente e impostano correttamente il “Text Domain” (dominio del testo). In questo modo, altre persone potranno tradurre il tuo plugin in altre lingue.

Considerazioni sulle prestazioni: carica i risorse del tuo plugin (CSS, JavaScript) solo quando necessario. Utilizza correttamente i condizionali per evitare di caricare script che sono richiesti solo in pagine specifiche. Ottimizza le query al database e sfrutta al meglio l’API “Transients” di WordPress per il caching.

Esplorazione approfondita: Una volta acquisite le nozioni di base, puoi approfondire argomenti più avanzati, come la creazione di tipi di articoli personalizzati (Custom Post Types – CPT) e di categorie personalizzate, l’aggiunta di codici brevi (Shortcodes), lo sviluppo di widget personalizzati, l’integrazione con API REST, o la creazione di blocchi (Blocks) facilmente utilizzabili per i tuoi plugin.

Riassumendo

Seguendo questa guida, hai completato l’intero processo di creazione di un plugin personalizzato per WordPress, partendo da zero. Hai appreso i concetti di base dello sviluppo di plugin, come la struttura dei file, il sistema di hook principale di WordPress e il modo per utilizzare l’API Settings per creare pagine di configurazione sicure. Anche se il plugin “Hello Admin” è semplice, contiene i modelli fondamentali dello sviluppo di plugin: la dichiarazione dei propri componenti, l’attivazione delle funzionalità desiderate, l’elaborazione dei dati e l’visualizzazione dei risultati. Ora che hai acquisito queste conoscenze di base, hai le chiavi per esplorare ulteriormente le ampie possibilità di estensione offerte da WordPress. Ricorda che l’apprendimento continuo, la seguenza delle migliori pratiche e la pratica costante sono gli unici modi per migliorare le tue abilità nello sviluppo di plugin.

FAQ - Domande frequenti

Quanti file sono necessari almeno per un plugin WordPress?

Un plugin con le funzionalità più semplici può essere composto da un unico file PHP principale. Basta che questo file contenga le giuste annotazioni per indicare le informazioni relative al plugin, e WordPress sarà in grado di riconoscerlo e attivarlo. Tuttavia, con l’aumentare della complessità delle funzionalità, per organizzare meglio il codice, è consueto suddividerlo in più file: file JavaScript o CSS separati, o classi PHP organizzate per modulo funzionale.

Qual è la differenza tra gli hook di azione `add_action` e gli hook di filtro `add_filter`?

Gli Action Hooks vengono utilizzati per eseguire un frammento di codice o una funzione in momenti specifici; non è previsto che restituiscono alcun valore, ma semplicemente che “eseguano un’azione”. Ad esempio, possono essere utilizzati per inviare un’e-mail dopo la pubblicazione di un articolo.

I “Filter Hooks” vengono utilizzati per modificare i dati. Accettano un valore in ingresso e devono restituire un valore modificato. Ad esempio, è possibile modificare il contenuto del titolo di un articolo prima che venga visualizzato nel browser. La differenza principale tra un’azione (action) e un filtro (filter) risiede nel fatto che un’azione esegue semplicemente un compito, mentre un filtro modifica i dati e ne restituisce il risultato modificato.

Come salvare in modo sicuro gli input forniti dagli utenti nel database?

È obbligatorio utilizzare le funzioni dell’API delle opzioni fornite da WordPress.update_option()register_setting()register_setting()La funzione consente di specificare una funzione di callback per il processo di pulizia (ad esempio…).sanitize_text_fieldQuesto processo avviene automaticamente prima della salvataggio dei dati. Non utilizzarli mai direttamente.$wpdbL’inserimento di dati utente non elaborati tramite istruzioni SQL può causare gravi vulnerabilità di sicurezza (ad esempio, l’iniezione di codice SQL).

Quando si sviluppa un plugin, come evitare che si verifichino conflitti con altri plugin?

Buone pratiche di codifica sono fondamentali per evitare conflitti. Aggiungi un prefisso unico a tutte le tue funzioni, classi, variabili e nomi di opzioni. Ad esempio, utilizza…hello_admin_display_messagee non quello più comunedisplay_messageIncapsula i tuoi stili CSS e il codice JavaScript all’interno di classi o selezionatori ID specifici. Quando aggiungi dei “hook” (meccanismi di interazione), assicurati che le tue funzioni di callback vengano eseguite solo sotto le condizioni necessarie (ad esempio, verificando la pagina attuale o i permessi dell’utente).