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

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

Perché è necessario sviluppare il proprio plugin per WordPress

Una delle filosofie di progettazione fondamentali di WordPress è la sua elevata estensibilità, e gli plugin rappresentano il principale strumento per realizzare questa caratteristica. Sebbene la libreria ufficiale di plugin offra un’ampia scelta, lo sviluppo di plugin personalizzati presenta numerosi vantaggi. Quando gli plugin esistenti non rispondono perfettamente alle esigenze del tuo business, presentano problemi di prestazioni o includono funzionalità non necessarie, lo sviluppo su misura rappresenta la soluzione migliore. Questo approccio ti permette di creare soluzioni che soddisfano appieno le esigenze del progetto, sono caratterizzate da codice semplice e facile da mantenere.

Attraverso lo sviluppo di plugin, è possibile separare le funzionalità personalizzate dal tema principale del sito web. Questa è una pratica ottimale di fondamentale importanza, poiché garantisce che le funzionalità essenziali del sito rimangano disponibili anche in caso di cambio di tema. Inoltre, i plugin ben progettati possono essere facilmente riutilizzati in progetti diversi, migliorando notevolmente l’efficienza dello sviluppo. Per gli sviluppatori che desiderano comprendere più a fondo il funzionamento di WordPress, migliorare le proprie competenze di programmazione in PHP o pianificano di pubblicare plugin commerciali, padroneggiare lo sviluppo di plugin rappresenta una competenza essenziale.

Costruire la struttura di base del tuo primo plugin

Per creare un plugin per WordPress, è necessario iniziare creando un semplice directory e un file principale nella posizione corretta. Questo rappresenta il punto di partenza per lo sviluppo di qualsiasi plugin.

Si consiglia di leggere Dall’approccio iniziale alla pratica: Guida completa allo sviluppo di plugin per WordPress e tecniche avanzate

Creare il file principale del plugin

Tutti i plugin devono disporre di un file PHP principale che contenga delle annotazioni specifiche, utilizzate per dichiarare il plugin al sistema WordPress. Questo file prende di solito il nome dello stesso plugin. Ad esempio, possiamo creare un file chiamato… my-first-plugin.php Il file…

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:       我的第一个定制插件
 * Plugin URI:        https://www.yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习WordPress插件开发的入门示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Questo commento è fondamentale per che WordPress riconosca i plugin. L’informazione “Nome del plugin” è obbligatoria, mentre le altre informazioni sono opzionali. Dopo aver creato questo file, inseriscilo nella posizione appropriata all’interno del sito. /wp-content/plugins/my-first-plugin/ Puoi trovare il catalogo degli strumenti disponibili e attivarli nella pagina “Plugin” presente nell’interfaccia di amministrazione di WordPress.

Comprendere la sicurezza dei plugin e le migliori pratiche di utilizzo

Prima di scrivere qualsiasi codice funzionale, è essenziale attuare misure di sicurezza. WordPress fornisce un gran numero di variabili e funzioni globali; accedere direttamente ai file di core è pericoloso e non è consentito. Pertanto, all’inizio di tutti i file PHP dei plugin, è necessario inserire del codice per proteggere l’accesso non autorizzato.

Dopo le note presenti all’inizio del file principale del plugin, aggiungi immediatamente il seguente codice:

// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
    exit; // 如果ABSPATH未定义,则退出
}

Costante ABSPATH Si tratta della path assoluta del directory radice di WordPress, che viene definita durante l’inizializzazione dell’ambiente WordPress. Controllando la presenza di questa costante, è possibile impedire a terzi di accedere direttamente ai file del tuo plugin tramite URL, evitando così potenziali rischi per la sicurezza. Questa è la prima e più importante pratica di sicurezza nella sviluppo di plugin.

Si consiglia di leggere Guida all’approccio di base allo sviluppo di plugin per WordPress

Utilizzare gli “hook” per estendere le funzionalità di WordPress

L’architettura dei plugin di WordPress si basa sul sistema dei “Hook” (Ganci), che consente di inserire codice personalizzato in momenti specifici per modificare o migliorare le funzionalità di base di WordPress, senza dover modificare i file principali del software. I Hook si dividono principalmente in due tipi: le “Actions” (Azioni) e i “Filters” (Filtri).

Eseguire un compito utilizzando gli “action hooks”.

Gli “action hooks” (ganci di azione) ti permettono di eseguire funzioni personalizzate quando si verificano eventi specifici, come la pubblicazione di un articolo, l’accesso di un utente o il caricamento della parte superiore di una pagina web. Per utilizzare un action hook, è necessario… add_action() Funzione.

Supponiamo che vogliamo aggiungere un messaggio di benvenuto personalizzato in cima alla barra di navigazione del pannello di amministrazione del sito web. Possiamo farlo inserendo il messaggio direttamente lì. admin_notices Questo elemento è collegato a un “gancio di azione” (action hook).

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_custom_admin_notice() {
    echo '<div class="notice notice-success is-dismissible"><p>Benvenuti nell’interfaccia di amministrazione del sito web! Questo è un avviso aggiunto dal mio plugin.</p></div>';
}
add_action( 'admin_notices', 'my_custom_admin_notice' );

Aggiungi questo codice al file principale del tuo plugin; una volta attivato il plugin, ogni volta che accedi al pannello di amministrazione, apparirà questo messaggio di avviso. my_custom_admin_notice È la funzione di callback che abbiamo definito noi.add_action() Mettilo insieme a… admin_notices I ganci vengono collegati tra loro.

Modificare i dati utilizzando gli hook dei filtri

Gli “hook dei filtri” (filter hooks) vengono utilizzati per modificare i dati prima che vengano salvati, visualizzati o utilizzati. Ricevono i dati, li elaborano attraverso la funzione specificata e, successivamente, devono restituire i dati modificati. Questo avviene tramite… add_filter() Realizzato tramite una funzione.

Un esempio classico è modificare il testo presente alla fine dei titoli degli articoli. Ad esempio, vorremmo aggiungere il nome del sito web dopo ogni titolo di articolo.

Si consiglia di leggere Partire da zero: Guida completa allo sviluppo di plugin per WordPress e condivisione delle migliori pratiche

function modify_post_title( $title ) {
    // 确保只在主循环的单篇文章页面修改
    if ( is_single() && in_the_loop() ) {
        $title .= ' | 我的网站';
    }
    return $title;
}
add_filter( 'the_title', 'modify_post_title' );

Questo, qui,modify_post_title La funzione riceve il testo originale del titolo come parametro, lo integra con il nome del sito web e poi lo restituisce. WordPress utilizza questo valore modificato per l’visualizzazione. Comprendere la differenza tra azioni (action) e filtri (filter) è fondamentale per utilizzare correttamente gli hook: un’azione esegue un compito specifico, mentre un filtro modifica i dati e li restituisce.

Creare una pagina di gestione per il plugin.

Molti plugin richiedono interazioni con l’amministratore, il che implica l’aggiunta di menu di gestione personalizzati e pagine di configurazione. WordPress offre una serie di funzioni per estendere facilmente il menu di back-end.

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.

Aggiungere il menu di gestione di livello superiore

Usare add_menu_page() La funzione permette di aggiungere un elemento di menu di livello superiore nella barra laterale di gestione del tuo plugin. Questo è solitamente il punto di ingresso per la configurazione del plugin.

Creiamo una semplice pagina chiamata “Impostazioni dei miei plugin”.

function my_plugin_add_menu_page() {
    add_menu_page(
        '我的插件设置',          // 页面标题(浏览器标签)
        '我的插件',              // 菜单标题
        'manage_options',       // 所需权限
        'my-plugin-settings',   // 菜单slug(URL标识)
        'my_plugin_settings_page', // 用于渲染页面内容的回调函数
        'dashicons-admin-generic', // 图标(使用Dashicons)
        30                      // 菜单位置
    );
}
add_action( 'admin_menu', 'my_plugin_add_menu_page' );

Successivamente, è necessario definire le funzioni di callback utilizzate sopra. my_plugin_settings_page Per visualizzare il contenuto HTML della pagina.

function my_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>I miei setting per il plugin</h1>
        <form method="post" action="/it/options.php/" data-trp-original-action="options.php">
            <?php
            // 输出设置字段(后续可与设置API结合)
            settings_fields( 'my_plugin_options_group' );
            do_settings_sections( 'my-plugin-settings' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="it"/></form>
    </div>
    &lt;?php
}

Integrazione dell’API per la configurazione di WordPress

L’elaborazione manuale dei dati inviati tramite form e la loro verifica sono operazioni noiose e soggette a errori. L’API per le impostazioni di WordPress (Settings API) semplifica notevolmente questi processi, automatizzando attività come la verifica dei valori “Nonce”, il controllo degli accessi e la salvazione dei dati.

Innanzitutto, è necessario registrarsi, configurare le impostazioni, aggiungere blocchi di impostazioni e campi.

function my_plugin_settings_init() {
    // 注册一组设置
    register_setting( 'my_plugin_options_group', 'my_plugin_option_name' );

// 添加一个设置区块
    add_settings_section(
        'my_plugin_section_id',
        '主要设置',
        null, // 可选的区块描述回调函数
        'my-plugin-settings'
    );

// 向区块中添加一个字段
    add_settings_field(
        'my_plugin_field_id',
        '示例文本字段',
        'my_plugin_field_callback',
        'my-plugin-settings',
        'my_plugin_section_id'
    );
}
add_action( 'admin_init', 'my_plugin_settings_init' );

// 字段的回调函数,用于输出HTML输入框
function my_plugin_field_callback() {
    $option = get_option( 'my_plugin_option_name' );
    echo '<input type="text" name="my_plugin_option_name" value="' . esc_attr( $option ) . '" />';
}

Ora, la tua pagina di configurazione dispone di un campo di form che è protetto dall’API di configurazione; i suoi valori verranno salvati in modo sicuro in WordPress. options Nella tabella del database. Attraverso… get_option( 'my_plugin_option_name' ) È possibile ottenere questo valore in qualsiasi parte del codice, sia sul lato front-end che su quello back-end.

Riassumendo

Lo sviluppo di plugin per WordPress è un processo che trasforma le idee in funzionalità efficaci e potenti. Iniziamo comprendendo il motivo per cui sia necessario creare plugin personalizzati, per poi costruire gradualmente la struttura di base di tali plugin, sottolineando l’importanza di un codice sicuro. Il punto chiave è padroneggiare il sistema di “hook” di WordPress, interagendo in modo fluido con il core del sistema attraverso azioni (actions) e filtri (filters). Infine, esploriamo come creare interfacce di gestione professionali e come gestire in modo sicuro le configurazioni degli utenti utilizzando l’API Settings. Seguendo questi passaggi e le migliori pratiche, sarà possibile creare plugin ben strutturati, sicuri, affidabili e facili da mantenere, liberando così appieno il potenziale di WordPress.

FAQ - Domande frequenti

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

Per sviluppare plugin per WordPress è necessario possedere una conoscenza di base della lingua di programmazione PHP, poiché il codice dei plugin viene scritto principalmente in PHP. Inoltre, è importante avere una conoscenza di base di HTML, CSS e JavaScript per creare le interfacce grafiche e gli elementi di interazione dell’utente. È anche molto utile comprendere i concetti fondamentali di WordPress, come gli articoli, le pagine, i ruoli degli utenti e i meccanismi di visualizzazione dei dati (ad esempio, “The Loop”).

Dove dovrebbero essere posizionate le funzioni dei plugin e dei temi?

Questo rappresenta un aspetto fondamentale delle migliori pratiche di sviluppo web: tutto il codice relativo alle funzionalità del sito, alla logica di back-end e alle operazioni sui dati deve essere inserito all’interno dei plugin. Al contrario, il codice che influisce direttamente sull’aspetto visivo del sito, sulla sua struttura e sui suoi stili (come i template delle pagine, i file CSS e il JavaScript front-end) deve essere contenuto nei temi. Il vantaggio principale di questo approccio è che, in caso di cambio di tema, le funzionalità essenziali del sito non vengono perse. Ad esempio, il codice necessario per registrare un tipo di articolo personalizzato dovrebbe essere inserito in un plugin, mentre i file che visualizzano tale tipo di articolo possono essere posizionati all’interno di un tema.

Come si debugga un plugin in fase di sviluppo?

Il primo passo per attivare il modalità di debug di WordPress è… (The first step to enable WordPress’s debug mode is…) wp-config.php Nel documento, verrà indicato che... WP_DEBUG La costante è impostata su trueQuesto permetterà di visualizzare direttamente sul sito web gli errori, gli avvisi e le notifiche PHP. Inoltre, è possibile utilizzare… error_log() La funzione scrive informazioni di debug personalizzate nel log di errore del server. Per un debug più avanzato, si può considerare l’uso di strumenti di debug PHP dedicati, come Xdebug, oppure l’installazione di plugin di monitoraggio delle query (ad esempio Query Monitor) per visualizzare i dati delle query al database, l’esecuzione dei “hook” e le informazioni sulle prestazioni del sistema.

Come posso rendere il mio plugin internazionale?

WordPress utilizza il framework GNU gettext per implementare la funzionalità di internazionalizzazione (i18n) e localizzazione. Nel tuo plugin, è necessario incapsulare tutte le stringhe di testo da tradurre all’interno di funzioni specifiche. La funzione più comune utilizzata a questo scopo è… __() Utilizzato per tradurre e restituire stringhe nel codice, nonché… _e() Utilizzato per tradurre e visualizzare direttamente le stringhe di testo. È inoltre necessario impostare correttamente le informazioni nel commento all’inizio del plugin. Text DomainE utilizzarlo al momento del caricamento del plugin. load_plugin_textdomain() Esiste una funzione per caricare i file di traduzione. Successivamente, è possibile utilizzare software come Poedit per generare i file di traduzione finali. .pot File di template, e ne creiamo versioni per diverse lingue. .po.mo File da tradurre.