Guida completa allo sviluppo di plugin per WordPress: un corso pratico dall’introduzione all’approfondimento

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

Configurazione dell'ambiente di sviluppo dei plugin di WordPress.

Prima di iniziare a scrivere il tuo primo plugin, è essenziale disporre di un ambiente di sviluppo stabile, isolato e completo dalle altre attività del progetto. Questo non solo proteggerà il tuo sito web in produzione, ma fornirà anche tutti gli strumenti necessari per il debug e i test.

Configurazione dell’ambiente di sviluppo locale

Il modo più consigliato è utilizzare un ambiente server locale, come Local by Flywheel, XAMPP o MAMP. Questi strumenti permettono di installare WordPress con un solo clic e integrano PHP, MySQL e il server web. Assicurati che la versione di PHP utilizzata sia compatibile con quella ufficialmente consigliata da WordPress e attiva la funzione di reporting degli errori: ciò aiuterà a individuare eventuali problemi già nelle fasi iniziali dello sviluppo.

Nel directory di installazione di WordPress wp-content/plugins All’interno della cartella, crea una nuova cartella dedicata al tuo nuovo plugin. Ad esempio: my-first-pluginTutti i file dei plugin verranno posizionati in questo luogo.

Si consiglia di leggere Analisi completa dell’ottimizzazione SEO: una guida pratica dalla struttura tecnica alla strategia dei contenuti

La scelta di un editor di codice e degli strumenti di debug

Scegliere un potente editor di codice può migliorare notevolmente l’efficienza dello sviluppo: esempi includono Visual Studio Code, PHPStorm o Sublime Text. Assicurati di installare estensioni come i frammenti di codice per WordPress, PHP IntelliSense e il debug per PHP.

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

Per il debug, oltre ad attivare le funzionalità di WordPress… WP_DEBUG Il modello (in wp-config.php I parametri sono impostati nel file. define('WP_DEBUG', true);Si consiglia inoltre di installare il plugin Query Monitor. Si tratta di una piattaforma per sviluppatori che mostra in tempo reale informazioni cruciali relative alle query eseguite sul database, agli errori di PHP, agli “hook” (meccanismi di interazione tra componenti del software) e ai script. È davvero uno strumento molto versatile, paragonabile a un “coltello svizzero” nell’ambito dello sviluppo di plugin.

Crea il tuo primo plugin per WordPress.

Un plugin standard per WordPress richiede almeno un file principale. Questo file deve contenere informazioni specifiche relative al plugin, in modo che WordPress possa riconoscerlo e caricarlo correttamente.

Scrivere il file principale del plugin

Nella tua cartella dei plugin (ad esempio…) my-first-pluginNel contesto indicato, creare un file PHP che solitamente prende il nome del plugin, ad esempio: my-first-plugin.phpAll’inizio del file devono essere presenti delle note di intestazione relative ai 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
 */

Questo commento rappresenta la “carta d’identità” del plugin. In esso…Plugin Name Questo campo è obbligatorio; tutti gli altri sono opzionali. WordPress utilizza queste informazioni per visualizzare i tuoi plugin nell’elenco dei plugin disponibili nel backend.

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

Implementare una funzionalità di base.

Aggiungiamo una funzionalità semplice a questo plugin: aggiungere automaticamente un testo personalizzato alla fine del contenuto dell’articolo. Per farlo, utilizzeremo… the_content Filtro.

Aggiungi il seguente codice sotto le informazioni relative alla testa del plugin:

// 在文章内容末尾添加自定义文本
function myfp_add_footer_text($content) {
    // 仅对单篇文章生效
    if (is_single()) {
        $custom_text = '<p><em>Grazie per la lettura! Questo articolo è stato realizzato con il supporto di “Il mio primo plugin”.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
add_filter('the_content', 'myfp_add_footer_text');

Dopo aver salvato il file, accedi alla pagina “Plugin” nell’interfaccia di amministrazione di WordPress e dovresti vedere il tuo primo plugin. Attivalo, quindi visualizza un articolo sul sito: il testo predefinito sarà stato aggiunto alla fine dell’articolo. Questo semplice esempio mostra come utilizzare i “Filtri” (Filters) per modificare il contenuto visualizzato su WordPress.

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%

Approfondendo il cuore dei plugin: Ganci (hooks) e API

La base delle potenti funzionalità degli plugin per WordPress è il suo sistema di “Hook” e l’ampia API. Comprendere questi elementi è fondamentale per sviluppare applicazioni più avanzate.

Comprendere i meccanismi di interazione tra azioni (actions) e i “filter hooks”

I “hook” si dividono in due tipi principali: “Action” e “Filter”.
Gli “action hooks” permettono di inserire codice personalizzato in punti specifici dell’esecuzione di WordPress, ad esempio durante la pubblicazione di un articolo o il caricamento della pagina di amministrazione. add_action() La funzione viene utilizzata per effettuare l’operazione di montaggio. Esegue semplicemente l’azione richiesta e non è previsto che restituisca alcun valore.
I “filter hooks” ti permettono di modificare i dati generati da WordPress durante il processo di elaborazione. add_filter() La funzione serve per effettuare il montaggio di un elemento. Devi ricevere un valore in input, modificarlo e poi restituirlo.

Ad esempio, inviare un’e-mail all’utente al momento del login è un’azione concreta da eseguire.

Si consiglia di leggere Creare un sito e-commerce indipendente con WooCommerce: una guida pratica completa passo dopo passo, dall'inizio alla fine.

function myfp_on_user_login($user_login, $user) {
    wp_mail($user->user_email, '欢迎回来!', '您刚刚成功登录了网站。');
}
add_action('wp_login', 'myfp_on_user_login', 10, 2);

Modificare il titolo di un articolo rappresenta, in sostanza, un “filtro” che influisce sulla presentazione del contenuto stesso.

function myfp_prepend_title($title) {
    return '精选:' . $title;
}
add_filter('the_title', 'myfp_prepend_title');

Dettagliato spiegamento delle API più comuni

WordPress offre un gran numero di funzioni API sicure, che ti evitano di dover operare direttamente sul database.
* 选项 API:使用 add_option(), get_option(), update_option() Vengono utilizzati per memorizzare e recuperare i dati di configurazione dei plugin. Tali dati vengono conservati in… wp_options Nella tabella.
* 设置 API:用于在后台“设置”或独立页面中创建标准化、安全且可验证的表单字段。它简化了设置页面的创建过程,并自动处理安全校验(Nonce)和数据存储。核心函数包括 register_setting(), add_settings_section()add_settings_field()
* 数据库 API:通过 $wpdb L’oggetto globale consente di eseguire operazioni personalizzate sul database. Offre funzionalità come… $wpdb->insert(), $wpdb->update(), $wpdb->get_results() Questo metodo ha già preso in considerazione la gestione dei prefissi dei tabellari e la protezione contro le iniezioni SQL (SQL injection).
* HTTP API:使用 wp_remote_get()wp_remote_post() Viene utilizzato per inviare richieste HTTP remote. È più efficiente delle funzioni PHP native. file_get_contents() Più sicuro, con una migliore compatibilità, e supporta SSL e proxy.

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.

Costruire il backend del plugin e l’interfaccia utente

Un plugin maturo di solito richiede una pagina di configurazione che permetta all’utente di personalizzarne il funzionamento. WordPress offre diversi metodi per aggiungere tali pagine al menu amministrativo.

Creare un menu di gestione e i suoi sottomenu

Usare add_menu_page() La funzione consente di aggiungere un elemento di menu di livello superiore nella barra di navigazione laterale in background. add_submenu_page() È possibile aggiungere pagine figlie a tali elementi. Queste funzioni sono solitamente disponibili… admin_menu Chiamato all’interno degli action hooks.

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

// 添加后台菜单
function myfp_add_admin_menu() {
    // 添加顶级菜单
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限要求
        'myfp-settings', // 菜单slug
        'myfp_settings_page_html', // 用于输出页面内容的回调函数
        'dashicons-admin-generic', // 图标
        80 // 位置
    );
}
add_action('admin_menu', 'myfp_add_admin_menu');

// 设置页面HTML内容
function myfp_settings_page_html() {
    // 权限检查
    if (!current_user_can('manage_options')) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html(get_admin_page_title()); ?></h1>
        <form action="/it/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段、节和安全字段
            settings_fields('myfp_options'); // 与 register_setting() 的选项组名匹配
            do_settings_sections('myfp-settings'); // 与页面slug匹配
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="it"/></form>
    </div>
    &lt;?php
}

Utilizzare l’API di configurazione per creare moduli.

Per far funzionare correttamente il modulo sopra descritto, dobbiamo utilizzare l’API di configurazione per registrare i campi. Questo processo avviene solitamente… admin_init Completato all’interno del “gancio” (hook).

// 初始化设置
function myfp_settings_init() {
    // 注册一个设置选项
    register_setting('myfp_options', 'myfp_settings');

// 添加一个设置节
    add_settings_section(
        'myfp_section_basic',
        '基础设置',
        null, // 节描述回调函数,可为空
        'myfp-settings'
    );

// 为节添加一个文本字段
    add_settings_field(
        'myfp_field_footer_text',
        '页脚文本',
        'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
        'myfp-settings',
        'myfp_section_basic',
        ['label_for' => 'myfp_field_footer_text']
    );
}
add_action('admin_init', 'myfp_settings_init');

// 字段HTML渲染函数
function myfp_field_footer_text_html() {
    $options = get_option('myfp_settings');
    $value = $options['footer_text'] ?? '默认文本';
    ?>
    <input type="text"
           id="myfp_field_footer_text"
           name="myfp_settings[footer_text]"
           value="<?php echo esc_attr($value); ?>"
           class="regular-text">
    <?php
}

Attraverso questa combinazione, abbiamo creato una pagina di configurazione del backend standardizzata che include funzionalità di verifica e archiviazione dei dati. Dopo che l’utente effettua il salvataggio, i valori vengono memorizzati. get_option('myfp_settings') I dati vengono acquisiti e utilizzati per le funzionalità del plugin.

Riassumendo

Lo sviluppo di plugin per WordPress inizia con la comprensione della struttura di base (header del plugin, organizzazione dei file) e prosegue con l’apprendimento dei meccanismi fondamentali (hook, API). Creando un ambiente locale professionale, è possibile eseguire esperimenti e debug in modo sicuro. La creazione del primo plugin ti permetterà di familiarizzare con il processo di riconoscimento e caricamento dei plugin da parte di WordPress. Una conoscenza approfondita degli hook per azioni e filtri, nonché delle API relative alle opzioni, alle impostazioni e al database, costituisce la base per sviluppare plugin funzionali e sicuri. Infine, utilizzando le funzioni del menu di gestione fornite da WordPress e le API relative alle impostazioni, è possibile creare interfacce di back-end coerenti e facili da configurare per gli utenti. Seguendo questi passaggi e le migliori pratiche, sarai in grado di creare plugin per WordPress in grado di soddisfare svariate esigenze, partendo da zero.

FAQ - Domande frequenti

Quali conoscenze di base sono necessarie per sviluppare un plugin WordPress?

È necessario possedere una conoscenza di base della lingua di programmazione PHP, poiché i plugin sono principalmente scritti in PHP. Inoltre, è importante avere una conoscenza di base di HTML, CSS e JavaScript, poiché sono fondamentali per creare interfacce grafiche e interattive per il lato client. Essere familiari con i concetti di base dei database MySQL (come l’aggiunta, la modifica, la cancellazione e la ricerca di dati) aiuta a comprendere le operazioni sulle informazioni in WordPress. Infine, conoscere l’architettura di base di WordPress e i tag delle template più utilizzati è essenziale.

Come posso assicurarmi che il plugin che ho sviluppato sia sicuro?

Per garantire la sicurezza dei plugin, è necessario seguire diverse best practice. Innanzitutto, è fondamentale verificare, pulire ed escapare tutti i dati inseriti dagli utenti. Per farlo, si possono utilizzare le funzioni fornite da WordPress. esc_html(), esc_attr(), sanitize_text_field()wp_kses()In secondo luogo, quando si eseguono operazioni che comportano la modifica dei dati (ad esempio, l’invio di un modulo), è necessario utilizzare un Nonce (token unico e temporaneo) per verificare l’intento e la provenienza della richiesta. Infine, quando si interagisce direttamente con il database, è fondamentale utilizzare… $wpdb Utilizzare i metodi forniti dalla classe o API più avanzate per evitare di dover scrivere istruzioni SQL a mano, al fine di prevenire attacchi di tipo injection.

Il file principale di un plugin può essere chiamato con qualsiasi nome desiderato?

Certo, ma è necessario seguire alcune specifiche regole. Il file principale PHP può essere chiamato come si desidera, tuttavia si consiglia di utilizzare un nome che sia in accordo con il nome della directory del plugin o con il nome del plugin stesso: il nome deve essere composto interamente da lettere minuscole e separato da trattini. Ad esempio: my-awesome-plugin.phpLa cosa importante è che il file deve contenere le giuste annotazioni relative ai plugin (cioè i commenti che indicano quali plugin sono stati utilizzati). Plugin Name: (Etc.), poiché WordPress riconosce i plugin analizzando questi commenti specifici presenti all’interno del contenuto dei file, e non attraverso i nomi dei file stessi.

Come posso aggiungere il supporto per più lingue al mio plugin?

Per aggiungere il supporto per più lingue (internazionalizzazione e localizzazione) a un plugin, si seguono principalmente tre passaggi. Il primo passaggio consiste, nel codice del plugin, nell’identificare tutte le stringhe che devono essere tradotte e nel sostituirle con le rispettive traduzioni. __()_e() Includere le funzioni necessarie e impostare i parametri del campo di testo (Text Domain). Il secondo passo consiste nel dichiarare correttamente questi parametri all’interno delle note presenti all’inizio del plugin. Text DomainDomain PathTerzo passo: utilizzare uno strumento come Poedit per analizzare il codice del plugin e generare il contenuto necessario. .pot File di template: successivamente, tradurre ogni lingua e generare i file corrispondenti. .po.mo I file vanno posizionati nella directory linguistica specificata. WordPress caricherà automaticamente le traduzioni corrispondenti in base alle impostazioni linguistiche del sito.