Da zero a uno: La guida completa per sviluppare il tuo primo plugin per WordPress passo dopo passo

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

Preparazione dell’ambiente di sviluppo per plugin WordPress

Prima di iniziare a scrivere il codice, è fondamentale creare un ambiente di sviluppo stabile e isolato dal sistema locale. Questo non solo proteggerà il tuo sito web principale, ma ti permetterà anche di sperimentare e debuggare liberamente.

Un ambiente efficiente di solito comprende tre componenti principali. In primo luogo, un software per server web, come Apache o Nginx. In secondo luogo, un ambiente di esecuzione PHP, la cui versione deve essere compatibile con quella di WordPress che si intende installare. Infine, un database MySQL o MariaDB. Anche se è possibile installare questi software manualmente uno per uno, consigliamo vivamente di utilizzare un ambiente di server locale integrato.

Esistono sul mercato diversi strumenti di ambiente di sviluppo di ottima qualità tra cui Local by Flywheel, XAMPP, MAMP e DevKinsta. Questi strumenti raccolgono tutti i componenti necessari per lo sviluppo web in un unico pacchetto e offrono la possibilità di installarli e avviarli con un semplice clic. Di solito includono anche funzionalità utili per gli sviluppatori, come la cattura delle email in arrivo, la clonazione dei siti web e la configurazione automatica dell’SSL, il che permette di aumentare notevolmente l’efficienza del lavoro.

Si consiglia di leggere Guida definitiva allo sviluppo di plugin per WordPress: creare il primo plugin personalizzato da zero

Oltre all’ambiente server, avrai bisogno anche di un editor di codice. Puoi scegliere un ambiente di sviluppo integrato (IDE) completo, come PhpStorm, oppure un editor più leggero ma estensibile, come Visual Studio Code. Per lo sviluppo di plugin, è consigliabile che tali plugin includano almeno funzionalità di suggerimento del codice PHP, evidenziazione della sintassi e gestione dei file. Installando alcuni plugin specifici nell’editor di testo (ad esempio, quelli relativi a WordPress o PHP Intelephense), il processo di programmazione diventerà più fluido.

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 la struttura dei file principali di un plugin

I plugin per WordPress sono essenzialmente insiemi di uno o più file PHP che seguono una struttura e convenzioni specifiche, al fine che il sistema principale di WordPress possa riconoscerli e caricarli.

Ogni plugin inizia da un file principale, che rappresenta il “punto di ingresso” del plugin stesso. Questo file deve contenere una specifica nota di intestazione. Tale nota di intestazione è un blocco di commenti multi-linea che include le informazioni di metadati del plugin, come il nome del plugin, la descrizione, la versione, l’autore, ecc. WordPress utilizza queste informazioni per visualizzare il plugin nell’interfaccia di gestione in background. Il nome del file principale può essere personalizzato, ma di solito… plugin-name.php In questo formato…

Ecco un esempio di codice per la parte iniziale (header) del file principale di un plugin:

<?php
/**
 * Plugin Name: 我的第一个自定义插件
 * Plugin URI:  https://example.com/my-first-plugin
 * Description: 这是我从零开始开发的第一个WordPress插件,用于演示和学习。
 * Version:     1.0.0
 * Author:      你的名字
 * Author URI:  https://example.com
 * License:     GPL v2 or later
 * Text Domain: my-first-plugin
 */

Una volta che il file principale è stato preparato, è necessario posizionarlo correttamente. Il file principale del plugin deve essere collocato nella directory appropriata. /wp-content/plugins/ All’interno di una cartella indipendente all’interno del directory. Il nome della cartella deve essere breve, unico e composto da lettere minuscole e trattini. Ad esempio, il nostro plugin può essere posizionato in: /wp-content/plugins/my-first-plugin/ All’interno di questa directory, si trova il file principale. my-first-plugin.php Mettilo nella directory principale di questa cartella.

Si consiglia di leggere Analisi dello sviluppo di plugin per WordPress: una guida completa per creare moduli di funzionalità personalizzati da zero.

Scrivi la tua prima funzione.

Ora, aggiungiamo la prima funzionalità interattiva al plugin. WordPress consente ai plugin di modificare o aggiungere funzionalità in momenti specifici grazie al meccanismo dei “Hook”. I Hook si dividono principalmente in due tipi: Action Hooks e Filter Hooks.

Gli “action hooks” permettono di eseguire il proprio codice in momenti specifici durante l’esecuzione di WordPress (ad esempio, al momento della pubblicazione di un articolo o del caricamento di una pagina). Un esempio molto comune è l’aggiunta di informazioni personalizzate nella parte inferiore della pagina web. Possiamo utilizzarli per questo scopo. wp_footer Questo hook di azione viene utilizzato per implementare il funzionamento desiderato.

Dobbiamo scrivere una funzione personalizzata e informare WordPress di come utilizzarla. wp_footer Esegui il codice quando viene attivato. Questo processo viene chiamato “montaggio” di una funzione o di un metodo su un appuntamento (hook). Ecco un esempio di implementazione:

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%
// 在主文件中添加以下代码
function my_first_plugin_display_footer_text() {
    echo ‘<p style="text-align: center; color: #666;">Presentato dal mio primo plugin per voi.</p>’;
}
add_action( ‘wp_footer’, ‘my_first_plugin_display_footer_text’ );

add_action() Questa è la funzione principale responsabile dell’azione di montaggio (ovvero dell’installazione del plugin). Dopo aver eseguito i passaggi indicati, cancella la cache del tuo sito e rinfresca la pagina front-end; dovresti essere in grado di vedere il testo del piede di pagina aggiunto dal plugin.

Successivamente, diamo un’occhiata ai “filter hooks”. I “filter hooks” ti permettono di modificare i dati che vengono passati loro. Ad esempio, se vogliamo modificare il contenuto del titolo di un articolo, possiamo utilizzarli per farlo. the_title Filtro. Il codice seguente illustra come aggiungere un prefisso a tutti i titoli degli articoli:

function my_first_plugin_prefix_title( $title ) {
    // 检查是否在主循环中且不是管理后台,避免影响后台标题显示
    if ( ! is_admin() && in_the_loop() ) {
        $title = ‘[插件前缀] ’ . $title;
    }
    return $title;
}
add_filter( ‘the_title’, ‘my_first_plugin_prefix_title’ );

Perfezionare il plugin: aggiungere un menu di gestione e una pagina di impostazioni.

Un plugin ben funzionante di solito richiede interazione con l’amministratore del sito, il che implica l’aggiunta di propri elementi di menu e pagine di configurazione. Questo permette agli utenti di configurare il plugin senza dover modificare il codice sorgente.

Si consiglia di leggere Partendo da zero: una guida completa e un tutorial pratico per lo sviluppo di plugin WordPress.

Per aggiungere un nuovo elemento di menu di livello superiore al menu di gestione situato sul lato sinistro del backend di WordPress, è necessario utilizzare… add_menu_page() Funzione. Questa funzione richiede diversi parametri per definire il titolo del menu, i permessi, l’identificativo unico e la funzione di callback, ecc. È necessario utilizzarla nel momento appropriato (solitamente…). admin_menu L’action hook (gancio di azione) lo chiama.

Ecco un esempio di pagina per creare un semplice menu principale e le relative impostazioni:

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 my_first_plugin_add_admin_menu() {
    add_menu_page(
        ‘我的第一个插件设置’, // 页面标题
        ‘我的插件’,           // 菜单标题
        ‘manage_options’,     // 所需权限(管理员)
        ‘my-first-plugin-settings’, // 菜单slug
        ‘my_first_plugin_render_settings_page’, // 渲染页面的回调函数
        ‘dashicons-admin-plugins’, // 图标(Dashicons)
        100                     // 菜单位置
    );
}
add_action( ‘admin_menu’, ‘my_first_plugin_add_admin_menu’ );

Successivamente, è necessario definire la funzione di callback. my_first_plugin_render_settings_page() Ecco il codice HTML per generare questa pagina di configurazione. In questa funzione è possibile visualizzare un form e gestire la sua invio (non in modalità Ajax).

Per memorizzare e recuperare in modo sicuro le impostazioni dei plugin, è consigliabile utilizzare l’API delle opzioni di WordPress. Puoi farlo facilmente… add_option()get_option()update_option()delete_option() Utilizzando funzioni come… per operare su elementi denominati… my_first_plugin_options I dati relativi alle opzioni vanno inseriti nel form utilizzando le funzionalità integrate da WordPress. settings_fields()do_settings_sections() Esistono funzioni per l’output sicuro dei campi di configurazione, ma queste vengono solitamente utilizzate in combinazione con API di configurazione più formali. Per pagine di configurazione semplici, è comune gestire manualmente l’invio dei moduli, nonché verificare e pulire i dati ricevuti.

Riassumendo

Sviluppare il tuo primo plugin per WordPress rappresenta un processo di apprendimento sistematico. Hai iniziato creando un ambiente di sviluppo locale sicuro, comprendendo la struttura dei file di base e le norme di denominazione dei plugin. Successivamente, hai acquisito conoscenze fondamentali sull’espandibilità dei plugin di WordPress, in particolare il meccanismo dei “hook” (ganci): hai imparato a utilizzare gli hook di azione per visualizzare i contenuti e quelli di filtro per modificare i dati. Infine, al fine di rendere il plugin più facile da gestire, hai appreso come creare menu di amministrazione e pagine di configurazione, nonché come interagire con l’API delle opzioni di WordPress per garantire il salvataggio persistente dei dati.

Seguendo questi passaggi, non solo avrai creato con successo un plugin funzionante, ma cosa più importante, avrai costruito anche una base strutturale estensibile. Sulla base di questa struttura, potrai continuare a sviluppare il tuo plugin aggiungendo funzionalità più complesse e potenti, esplorando altri meccanismi di interazione (hook), approfondendo la tua conoscenza di JavaScript (in particolare Ajax), creando tabelle di database personalizzate o sviluppando codici brevi e flessibili.

FAQ - Domande frequenti

È possibile sviluppare plugin per WordPress anche senza esperienza di programmazione?
Anche se avere una conoscenza di base di PHP, HTML e un po’ di CSS può rendere il lavoro più semplice, è possibile partire da zero. L’importante è procedere passo dopo passo: iniziate modificando e imitando il codice di plugin esistenti, per poi comprendere gradualmente le funzioni e gli “hook” forniti da WordPress. Approfittate anche della vasta documentazione ufficiale e della pratica per migliorare le vostre competenze.

Perché il mio plugin non riesce ad essere attivato in background?

L’attivazione di un plugin può fallire per diversi motivi. Il più comune è che le informazioni presenti nell’intestazione del file principale del plugin siano in formato errato o che manchino campi obbligatori (ad esempio, il nome del plugin). In secondo luogo, potrebbero esserci errori di sintassi nel codice PHP; è possibile individuare tali errori consultando i log di errore del server web. Inoltre, il nome della cartella che contiene il plugin o il nome del file principale potrebbe essere in conflitto con altri plugin già installati, oppure la versione di PHP richiesta dal plugin potrebbe essere superiore a quella supportata dal tuo ambiente di server.

Come dividere le impostazioni avanzate di un plugin in più pagine?

È possibile eseguire l’operazione richiesta chiamando la funzione più volte. add_menu_page() Per creare un menu principale indipendente, ma questo potrebbe rendere il codice sorgente del backend più complicato e disordinato. Un approccio migliore è utilizzare… add_submenu_page() Funzione per aggiungere una pagina di configurazioni aggiuntive come elemento di menu secondario al menu principale. Durante la creazione del menu secondario, imposta il primo parametro (il “slug” del menu padre) come il “slug” del menu principale; i parametri successivi vengono utilizzati per definire il titolo e le funzionalità del menu secondario.

Come si può pubblicare in modo sicuro un plugin una volta che è stato sviluppato?

Prima di pubblicare un plugin per il catalogo di WordPress, è di fondamentale importanza garantire la sicurezza del codice. È necessario effettuare una verifica rigorosa e l’elaborazione (l’“escape”) di tutti i dati forniti dagli utenti; si consiglia l’utilizzo delle funzioni fornite da WordPress stesso. sanitize_text_field()wp_kses()esc_html()Allo stesso tempo, tutte le operazioni sul database eseguite in modo diretto dovrebbero utilizzare… $wpdb I metodi forniti dalla classe servono a prevenire gli attacchi di tipo SQL injection. Prima della pubblicazione, il plugin dovrebbe essere anche adattato per supportare l’internazionalizzazione (localizzazione), e dovrebbero essere preparati file di traduzione per tutte le stringhe visibili agli utenti.