Guida definitiva allo sviluppo di plugin per WordPress: costruisci il tuo primo plugin da zero.

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

Ambiente di sviluppo e preparazioni preliminari

Prima di iniziare a scrivere qualsiasi codice, un ambiente di sviluppo stabile e professionale è la chiave del successo. Per prima cosa, è necessario creare su un computer locale un ambiente di sviluppo per WordPress il più simile possibile all’ambiente di produzione. Questo può essere realizzato utilizzando software integrati come XAMPP o MAMP, oppure container Docker più moderni. L’ambiente locale consente di eseguire test e debug in modo libero, senza influenzare il sito web online.

Successivamente, avrai bisogno di un editor di codice o di un ambiente di sviluppo integrato (IDE). Visual Studio Code, PhpStorm o Sublime Text sono ottime scelte: forniscono evidenziazione del codice, suggerimenti automatici e strumenti di debug, migliorando notevolmente l’efficienza dello sviluppo. Assicurati inoltre che la versione di PHP che utilizzi sia compatibile con la versione di WordPress a cui ti stai rivolgendo. WordPress consiglia ufficialmente l’uso di PHP 7.4 o versioni più recenti per ottenere prestazioni e sicurezza migliori.

Infine, e questo è un passo di fondamentale importanza, è necessario familiarizzare con il “Manuale per lo sviluppo di plugin” ufficiale di WordPress. Questo documento rappresenta la guida essenziale per lo sviluppo di plugin, fornendo informazioni dettagliate su tutte le API principali, le linee guida per la sicurezza e le migliori pratiche. Prima di iniziare a scrivere il codice, dedicare del tempo alla lettura delle sezioni “Sviluppo di plugin” e “Nozioni di base sui plugin”: questo ti aiuterà a costruire una solida base per il tuo percorso di sviluppo.

Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: dall’approccio base all’avanzato

Crea il tuo primo file di plugin.

Un plug-in WordPress è essenzialmente uno o più file situati all'interno della cartella dei plug-in del tuo sito WordPress.wp-content/pluginsI file PHP presenti nel directory. Ogni plugin deve disporre di un file principale che contiene informazioni relative al plugin stesso, utilizzate per dichiarare il plugin al sistema WordPress.

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

La struttura del file principale di un plugin

Il file principale di un plugin rappresenta il punto di ingresso per l’utilizzo dello stesso; il suo nome corrisponde solitamente al nome della directory in cui il plugin è contenuto. Ad esempio…my-first-plugin.phpAll’inizio di questo file, è necessario aggiungere un commento con l’intestazione del plugin che sia conforme agli standard di WordPress. Questo è l’unico modo per consentire a WordPress di riconoscere le informazioni relative al 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
 * Domain Path:       /languages
 */

Ogni informazione contenuta in questo commento è molto importante.Plugin NameÈ un campo obbligatorio; apparirà nell’elenco degli plugin presente nell’interfaccia di amministrazione di WordPress.Text DomainUtilizzato per la traduzione internazionale.Domain PathSi specifica quindi la posizione del file di traduzione.

Implementazione delle funzionalità di base del plugin

Dopo aver dichiarato i file di intestazione del plugin, puoi iniziare ad aggiungere il codice funzionale. Un approccio sicuro e standard consiste nel racchiudere tutta la logica funzionale all’interno di funzioni o classi, e nel farla eseguire tramite il sistema di “hook” di WordPress. Ad esempio, possiamo creare una funzione semplice per aggiungere del testo in fondo alla pagina.

// 定义一个函数,用于在页面底部输出内容
function my_first_plugin_display_footer_text() {
    echo '<p style="text-align: center; color: #666;">Grazie per aver utilizzato il mio primo plugin!</p>';
}
// 使用 add_action 钩子将函数挂载到 ‘wp_footer’ 动作上
add_action( 'wp_footer', 'my_first_plugin_display_footer_text' );

add_action()È una funzione centrale, utilizzata per convertire le tue funzioni personalizzate…my_first_plugin_display_footer_textLegare awp_footerIn questo punto specifico dell’esecuzione del codice, quando WordPress arriva alla sezione del piede della pagina (footer), la tua funzione verrà chiamata automaticamente.

Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: costruire plugin professionali da zero

Approfondire i meccanismi fondamentali di WordPress

Per sviluppare plugin potenti e flessibili, è essenziale comprendere a fondo i due meccanismi fondamentali di WordPress: gli “Hook” (Ganci) e i “Filter” (Filtri). Essi rappresentano i ponti attraverso cui i plugin interagiscono con il nucleo di WordPress nonché con altri plugin.

L’utilizzo dei “action hooks”

Gli “Action Hooks” permettono di inserire il proprio codice in momenti specifici dell’esecuzione di WordPress. Ad esempio, quando un articolo viene pubblicato, quando un utente si collega o quando un script viene caricato. Nel caso precedente…wp_footer就是一个动作钩子。你可以使用add_action()Esiste una funzione per abbonarsi a questi “hook” (meccanismi di notifica). Questa funzione accetta almeno due parametri: il nome del hook e la funzione di callback (la funzione che verrà eseguita quando un evento specifico si verifica).

// 在管理后台的文章编辑页面添加一个自定义元框
function my_first_plugin_add_custom_meta_box() {
    add_meta_box(
        'myplugin_sectionid',           // 元框的唯一ID
        '我的插件自定义选项',            // 元框标题
        'my_first_plugin_meta_box_callback', // 输出内容的回调函数
        'post'                          // 在‘文章’编辑页面显示
    );
}
add_action( 'add_meta_boxes', 'my_first_plugin_add_custom_meta_box' );

L’utilizzo dei “filter hooks”

I “Filter Hooks” sono diversi dagli “Action Hooks”: permettono di modificare i dati prima che vengano salvati nel database o visualizzati nel browser. Ad esempio, è possibile modificare il contenuto di un articolo, il suo titolo, o persino i commenti.add_filter()La funzione viene utilizzata per applicare i filtri. La funzione di callback registrata riceve i dati originali come parametro e deve restituire i dati modificati.

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_add_title_prefix( $title ) {
    // 仅当在主查询中且在单个文章页面时生效
    if ( is_single() && in_the_loop() && is_main_query() ) {
        return '【推荐】' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'my_first_plugin_add_title_prefix' );

Comprendere e utilizzare abilmente questi “hook” (meccanismi di interazione tra plugin) è fondamentale per distinguere i sviluppatori di plugin principianti da quelli esperti.

Sicurezza, ottimizzazione e pubblicazione di plugin

Un plugin completo non è semplicemente una raccolta di funzionalità; è necessario prendere in considerazione anche aspetti come la sicurezza, le prestazioni, la manutenibilità, nonché il modo in cui verrà consegnato all’utente.

Implementare la validazione dei dati e le misure di sicurezza

Non fidarti mai dei dati inseriti dagli utenti. Tutti i dati provenienti da…$_POST$_GET$_COOKIETutti i dati ottenuti devono essere verificati e sottoposti a processi di “sanitizzazione” (eliminazione di eventuali elementi dannosi o non desiderati). WordPress offre una serie di funzioni di aiuto per questo scopo.sanitize_text_field()intval()wp_kses()Ecc., vengono utilizzati per pulire i dati. Anche quando si inviano dati all’interfaccia utente, è necessario effettuare l’operazione di “escape” (elaborazione dei caratteri per evitare problemi di visualizzazione).esc_html()esc_attr()wp_kses_post()Funzioni come queste vengono utilizzate per prevenire gli attacchi di tipo Cross-Site Scripting (XSS).

Si consiglia di leggere Guida all’approccio di base allo sviluppo di plugin per WordPress: costruisci il tuo primo plugin personalizzato da zero

Localizzazione e traduzione di plugin

Per permettere che il tuo plugin venga utilizzato da utenti in tutto il mondo, l’internazionalizzazione (i18n) è essenziale. Devi utilizzare le funzioni di traduzione fornite da WordPress per incapsulare tutte le stringhe destinate agli utenti. Il passo più fondamentale è…__()Utilizzato per visualizzare il risultato della traduzione._e()Utilizzato per l’output della traduzione.

// 在插件代码中包装可翻译字符串
$greeting_message = __( ‘感谢使用我的插件!‘, ‘my-first-plugin’ );

// 在特定的钩子上加载翻译文件
function my_first_plugin_load_textdomain() {
    load_plugin_textdomain( ‘my-first-plugin’, false, dirname( plugin_basename( __FILE__ ) ) . ‘/languages/’ );
}
add_action( ‘plugins_loaded’, ‘my_first_plugin_load_textdomain’ );

Poi, puoi utilizzare strumenti come Poedit per creare il file di traduzione..potFile di template, utilizzati dai traduttori per creare i contenuti da tradurre..po.moFile da tradurre.

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.

Pronto per la pubblicazione nel catalogo ufficiale.

Quando si prepara a pubblicare un plugin in modo ufficiale, è necessario seguire i requisiti stabiliti da WordPress. Questo include la stesura di una documentazione dettagliata…readme.txtIl file del plugin deve avere lo stesso formato di quelli utilizzati per altri plugin di WordPress, ma deve contenere anche ulteriori sezioni, come una descrizione dettagliata del plugin, istruzioni per l’installazione, risposte alle domande più comuni, screenshot, ecc. È importante assicurarsi che il codice segua gli standard di codifica stabiliti da WordPress e che venga sottoposto a test approfonditi. Inoltre, si consiglia di considerare la possibilità di inviare il codice su una piattaforma di controllo delle versioni, come GitHub. Una volta completati questi passaggi, è possibile richiedere un repository SVN su WordPress.org e inviare il codice del plugin nel catalogo ufficiale di plugin di WordPress, in modo che possa essere trovato e installato da utenti in tutto il mondo.

Riassumendo

Lo sviluppo di plugin per WordPress rappresenta un processo attraverso il quale le idee vengono trasformate in funzionalità integrate nell’ecosistema del più grande sistema di gestione dei contenuti al mondo. Dall’installazione dell’ambiente di sviluppo e dalla creazione dei file di base, fino alla comprensione approfondita del sistema di “hook” (meccanismi di interazione fondamentali di WordPress), fino infine all’attenzione alla sicurezza, all’internazionalizzazione e alla preparazione della pubblicazione del plugin, ogni passaggio è di fondamentale importanza. Seguendo le migliori pratiche, in particolare le linee guida per lo sviluppo sicuro e gli standard di WordPress, è possibile creare plugin stabili e affidabili, nonché garantirne una longevità e una compatibilità durature. Ricorda: un plugin di qualità deriva dalla comprensione delle esigenze degli utenti e dal rispetto per i meccanismi della piattaforma stessa. Ora che hai acquisito le conoscenze necessarie per costruire un plugin da zero, è arrivato il momento di iniziare il tuo percorso di sviluppo e contribuire al mondo di WordPress con il tuo codice.

FAQ - Domande frequenti

Per sviluppare plugin, è necessario essere esperti di PHP?

Sì, una padronanza delle tecnologie PHP è fondamentale per lo sviluppo di plugin per WordPress. Infatti, la maggior parte di WordPress, nonché dei suoi plugin e temi, è scritta in PHP. È necessario comprendere la grammatica di PHP, le funzioni, le classi e gli oggetti, nonché il modo in cui interagire con i database (solitamente MySQL/MariaDB).

Come posso debuggare il mio plugin WordPress?

Ecco alcuni metodi consigliati: innanzitutto,wp-config.phpAbilitato nel file.WP_DEBUG,让PHP错误和警告显示出来。其次,使用error_log()La funzione scrive le informazioni di debug nel log di errore del server. Per un debug più approfondito, è possibile utilizzare Xdebug in combinazione con un ambiente di sviluppo integrato (IDE) per effettuare il debug con punti di interruzione. Inoltre, molti sviluppatori utilizzano plugin di debug come Query Monitor per visualizzare le query eseguite sul database e il funzionamento dei “hook” (meccanismi di interazione tra applicazione e database).

Come può il mio plug-in essere compatibile con un tema o con altri plug-in?

Per massimizzare la compatibilità, il tuo plugin dovrebbe utilizzare il più possibile le API ufficiali di WordPress e gli hook standard, evitando di modificare direttamente i file di codice sorgente o di utilizzare funzioni non pubbliche (solitamente quelle che iniziano con l’underscore “_”). Prima di modificare dati globali o il contenuto visualizzato, è necessario verificare le condizioni appropriate (ad esempio, utilizzando dei controlli condizionali).is_admin()is_single()Per le funzionalità che potrebbero causare conflitti con altri plugin, considerate l’opzione di fornire agli utenti la possibilità di scegliere se attivarle o meno.

Dopo il rilascio di un plugin, come fornire agli utenti l’opportunità di aggiornarlo?

Se pubblichi il plugin nel catalogo ufficiale di WordPress.org, il servizio di aggiornamento avviene automaticamente. Devi semplicemente aggiornare il numero di versione nel file principale del plugin (ad esempio, passando da una versione precedente a una nuova).1.0.0Cambia in:1.0.1Dopo aver modificato il codice del plugin, è necessario inviarlo al repository SVN ufficiale di WordPress. In questo modo, WordPress invierà automaticamente notifiche di aggiornamento a tutti gli utenti. Se distribuisci il plugin da solo, dovrai implementare un meccanismo personalizzato per verificare la disponibilità di nuove versioni. Questo solitamente implica l’hosting di un file JSON contenente le informazioni sulle versioni su un server remoto, e il controllo periodico delle nuove versioni tramite richieste HTTP all’interno del plugin stesso.