Imparare a sviluppare plugin per WordPress: creare la tua prima estensione funzionale partendo da zero.

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

Perché scegliere lo sviluppo di plugin per WordPress?

Il motivo per cui WordPress è diventato il sistema di gestione dei contenuti più popolare al mondo è dovuto in gran parte alla sua potente architettura di plugin. I plugin consentono agli sviluppatori di aggiungere quasi qualsiasi funzionalità al sito web senza dover modificare il codice sorgente principale, dal semplice modulo di contatto ai complessi sistemi di e-commerce. Imparare a sviluppare plugin significa poter personalizzare WordPress in modo approfondito per soddisfare esigenze aziendali specifiche, o trasformare le proprie idee in prodotti riutilizzabili.

Sviluppare i propri plug-in, rispetto a modificare direttamente il tema, è molto più vantaggioso. functions.php I file presentano notevoli vantaggi: i plugin sono moduli funzionali indipendenti dal tema utilizzato; quindi, quando si cambia tema, le funzionalità dei plugin non vengono perse. Questo rende il codice più facile da mantenere, aggiornare e condividere tra diversi progetti. Comprendere i meccanismi fondamentali dello sviluppo dei plugin è essenziale per diventare uno sviluppatore WordPress di alto livello.

Configurare il proprio ambiente di sviluppo

Prima di scrivere la prima riga di codice, è essenziale disporre di un ambiente di sviluppo locale stabile ed efficiente. Questo ti permetterà di effettuare test e debug senza influenzare il sito web online.

Si consiglia di leggere Una guida pratica allo sviluppo di plugin per WordPress: dalla creazione del tuo primo plugin funzionale, da zero.

Configurazione dell’ambiente del server locale

Si consiglia di utilizzare soluzioni di server locali integrate, come Local by Flywheel, XAMPP o MAMP. Queste permettono di installare in un solo passo Apache/Nginx, PHP e MySQL. Assicurati che la versione di PHP sia compatibile con la versione di WordPress che desideri utilizzare; di solito si consiglia l’uso di PHP 7.4 o versioni più recenti. Inoltre, è necessario installare una nuova copia di WordPress sul server locale per utilizzarla come “ambiente di prova” per i test dei plugin.

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

Editor di codice e strumenti di debug

Scegli un editor di codice potente, come Visual Studio Code o PHPStorm: questi strumenti offrono evidenziazione del codice, suggerimenti automatici e integrazione con i sistemi di controllo delle versioni. Per il debug, è necessario attivare il modalità di debug di WordPress; per farlo, devi modificare i file presenti nella directory principale di WordPress. wp-config.php Il documento, che verrà WP_DEBUG La costante è impostata su true

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // 将错误日志保存到 /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // 不要在页面上显示错误

Una volta attivato il modalità di debug, tutti gli errori, gli avvisi e le notifiche di PHP verranno registrati, aiutandoti a individuare rapidamente i problemi.

Crea il tuo primo file di plugin.

Un plugin per WordPress può essere molto semplice, costituito da un solo file, ma è fondamentale seguire una struttura chiara e organizzata. Inizieremo con il plugin più basilare possibile: quello che stampa il messaggio “Hello World”.

La struttura del file principale di un plugin

Prima di tutto, in WordPress… /wp-content/plugins/ All’interno del directory, crea una nuova cartella, ad esempio… my-first-pluginIn questa cartella, crea un file PHP principale; il nome del file di solito coincide con il nome della cartella stessa.my-first-plugin.php

Si consiglia di leggere Guida allo sviluppo personalizzato del plug-in WooCommerce: creare un negozio online esclusivo.

Ogni plugin deve contenere, all’inizio del file, un blocco di commenti che fornisce le informazioni standard relative al plugin stesso. WordPress utilizza questo blocco per riconoscere il plugin e visualizzarlo nell’interfaccia di amministrazione in background.

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://www.yourwebsite.com/my-first-plugin/
 * Description:       这是一个学习 WordPress 插件开发的示例插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://www.yourwebsite.com/
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

Dopo aver salvato il file, fai login al pannello di amministrazione di WordPress e vai alla pagina “Aggiornamenti” (o “Plugin”). Dovresti vedere questo nuovo plugin nell’elenco dei plugin disponibili. Ora puoi attivarlo, anche se al momento non dispone di alcuna funzionalità.

Aggiunta della prima funzionalità: gestione del menu.

Successivamente, aggiungiamo una funzionalità semplice al plugin: creiamo un nuovo elemento menu nella barra laterale della gestione amministrativa di 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%

Utilizzeremo… add_action() Una funzione per incollare (o “montare”) un funzione di callback… admin_menu Questo “Action” è attaccato a un gancio.

// 在插件主文件中,插件头部注释块之后,添加以下代码

if ( ! defined( 'ABSPATH' ) ) {
    exit; // 禁止直接访问
}

// 钩子到 admin_menu 动作
add_action( 'admin_menu', 'mfp_add_admin_menu' );

/**
 * 注册一个自定义管理菜单
 */
function mfp_add_admin_menu() {
    add_menu_page(
        '我的第一个插件设置', // 页面标题
        '我的插件',          // 菜单标题
        'manage_options',    // 所需权限
        'my-first-plugin',   // 菜单别名 (slug)
        'mfp_display_admin_page', // 显示页面内容的回调函数
        'dashicons-smiley', // 菜单图标 (使用 Dashicon)
        6                    // 菜单位置
    );
}

/**
 * 管理页面的显示内容
 */
function mfp_display_admin_page() {
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <p>Ciao, mondo! Questa è la mia prima pagina di gestione degli plugin per WordPress.</p>
    </div>
    &lt;?php
}

Dopo aver salvato il file e raffrescato il backend di WordPress, noterai un nuovo elemento nel menu a sinistra chiamato “I miei plugin”. Facendo clic su di esso, verrai reindirizzato a una pagina semplice che mostra un messaggio di benvenuto.

Approfondimento: Ganci e filtri

La filosofia fondamentale dello sviluppo di plugin per WordPress si basa sugli “hook” (ganci). Gli hook permettono al tuo codice di intervenire nei processi centrali di WordPress in momenti specifici, modificandone o aggiungendovi funzionalità. Esistono principalmente due tipi di hook: gli “Actions” (azioni) e i “Filters” (filtri).

Si consiglia di leggere Guida allo sviluppo e alla personalizzazione di temi per WordPress: dall’approccio iniziale alla padronanza per creare siti web esclusivi

Comprendere i “action hooks” (ganci di azione)

Gli “action hooks” in WordPress vengono attivati in momenti specifici durante l’esecuzione del sito, ad esempio quando un articolo viene salvato, quando la parte superiore della pagina viene caricata o quando la parte inferiore della pagina viene visualizzata. Il tuo plugin può “ascoltare” questi eventi e eseguire le proprie funzioni in quei momenti. Quello che abbiamo utilizzato prima… admin_menu Si tratta semplicemente di un “hook” per un’azione (un meccanismo di interazione programmata).

Un altro esempio comune è l’aggiunta automatica di un testo alla fine del contenuto di un articolo.

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.
add_action( 'the_content', 'mfp_append_text_to_content' );

function mfp_append_text_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $append_text = '<p><em>Questo articolo è stato generato dal mio primo plugin.</em></p>';
        $content .= $append_text;
    }
    return $content;
}

Modificare i dati utilizzando filtri

Gli “hook” dei filtri vengono utilizzati per modificare i dati prima che vengano salvati nel database o inviati al browser. Questi componenti ricevono i dati in ingresso, li modificano e devono poi restituire i dati modificati. Un esempio tipico è la modifica del titolo di un articolo.

add_filter( 'the_title', 'mfp_modify_post_title' );

function mfp_modify_post_title( $title ) {
    // 只在非后台的主查询中修改
    if ( ! is_admin() && in_the_loop() ) {
        $title = '[重要] ' . $title;
    }
    return $title;
}

Comprendere e utilizzare correttamente i “hook” (ganci) è fondamentale per creare plugin flessibili e potenti. Il nucleo di WordPress offre migliaia di hook, distribuiti in tutto il ciclo di vita del sistema.

Sicurezza dei plugin e migliori pratiche di utilizzo

Scrivere codice sicuro e seguire le migliori pratiche di sviluppo garantisce che il tuo plugin sia stabile, efficiente e facilmente accettato dagli altri sviluppatori.

Convalida dei dati ed escape

Non fidarti mai dei dati inseriti dagli utenti o provenienti dai database. Ogni volta che si devono visualizzare dei dati nel browser (in formato HTML, JavaScript o attraverso attributi), è necessario effettuare l’escape dei caratteri per evitare problemi di sicurezza. WordPress mette a disposizione una serie di funzioni utili per questo scopo.

// 输出到 HTML 内容中
echo esc_html( $untrusted_data );
// 输出到 HTML 属性中
echo esc_attr( $untrusted_data );
// 输出到 URL 中
echo esc_url( $untrusted_data );
// 在 JavaScript 变量中输出
$js_data = wp_json_encode( $untrusted_data );

Prima di salvare i dati nel database o di eseguire operazioni logiche, è necessario effettuare una verifica (Validation) per assicurarsi che i dati siano nella forma prevista (ad esempio, che si tratti di un indirizzo email, di un numero, ecc.).

Utilizzare gli spazi di nomi e le classi

Per i plugin complessi, si consiglia di utilizzare gli spazi di nomi di PHP e la programmazione orientata agli oggetti (OOP) per organizzare il codice. Questo permette di evitare conflitti tra i nomi delle funzioni e di migliorare la modularità e la leggibilità del codice.

<?php
namespace MyFirstPluginAdmin;

class Admin_Menu {
    public function __construct() {
        add_action( 'admin_menu', [ $this, 'add_menu_page' ] );
    }

public function add_menu_page() {
        add_menu_page( ... );
    }
}

// 初始化
new Admin_Menu();

Inoltre, è necessario aggiungere il supporto all’internazionalizzazione al plugin (utilizzando…) __()_e() La presenza di funzionalità avanzate, l’offerta di opzioni ragionevoli per l’installazione e la disinstallazione, nonché il rispetto degli standard di codifica di WordPress, sono elementi fondamentali per rendere un plugin di qualità.

Riassumendo

Lo sviluppo di plugin per WordPress è un percorso che si sviluppa gradualmente, passando dalla creazione di un file di base riconosciuto da WordPress fino all’utilizzo di sistemi potenti come gli “action” e i “filter hooks” per estendere le funzionalità del sito. Ogni passo si basa sulla comprensione dell’architettura di WordPress. L’ambiente di sviluppo locale rappresenta il tuo “laboratorio”, gli strumenti di debug sono i tuoi “microscopi”, mentre la sicurezza e le migliori pratiche costituiscono le basi per garantire la stabilità e l’affidabilità del tuo lavoro.

Creando un semplice plugin per il menu di gestione, hai già sperimentato i passaggi fondamentali dello sviluppo di plugin. Successivamente, puoi provare ad integrare opzioni di configurazione, creare tabelle di database personalizzate, aggiungere funzionalità basate su “shortcodes”, o sviluppare piccoli strumenti utili. Continuando a praticare e facendo riferimento al codice sorgente dei plugin esistenti nonché alle implementazioni di altri plugin di qualità, sarai in grado di gestire requisiti sempre più complessi e, alla fine, creare plugin per WordPress di livello professionale.

FAQ - Domande frequenti

Quanti file sono necessari almeno per un plugin WordPress?

Un plugin per WordPress richiede almeno un file PHP. Basta che questo file contenga le giuste informazioni nelle note di intestazione (header comments), affinché WordPress possa riconoscerlo e attivarlo nell’elenco dei plugin disponibili in background. Naturalmente, per i plugin più complessi e funzionali, il codice viene solitamente organizzato in più file e cartelle al fine di migliorarne la manutenibilità.

Come evitare i conflitti di nomi delle funzioni nello sviluppo di plugin?

Esistono due principali metodi per evitare i conflitti tra i nomi delle funzioni. Il primo consiste nell’aggiungere un prefisso unico a tutte le funzioni, ad esempio utilizzando abbreviazioni o nomi derivanti da nomi di plugin. mfp_myplugin_In secondo luogo, è possibile utilizzare le classi e gli spazi di nomi di PHP per incapsulare le proprie funzioni all’interno dei metodi delle classi. Questa è una pratica più moderna e consigliata, in grado di risolvere definitivamente i problemi di sovrapposizione dei nomi.

Come posso aggiungere una pagina di opzioni di configurazione al mio plugin?

Aggiungere una pagina di configurazione a un plugin richiede solitamente l’utilizzo di… add_options_page()add_submenu_page() Si tratta di una funzione utilizzata per registrare una pagina, e successivamente di un’altra funzione che sfrutta l’API di configurazione di WordPress (Settings API) per creare, verificare e salvare in modo sicuro le opzioni desiderate. L’API di configurazione di WordPress fornisce gli strumenti necessari per gestire in modo efficiente le impostazioni dell’intero sito web. register_setting()add_settings_section()add_settings_field() Funzioni come queste semplificano il processo di creazione di moduli per la configurazione standardizzata, gestendo automaticamente aspetti legati alla sicurezza e all’archiviazione dei dati.

Dopo il completamento dello sviluppo, come è possibile pubblicare il plugin nel catalogo ufficiale di WordPress?

Per pubblicare un plugin nel catalogo ufficiale di WordPress.org, è necessario prima richiedere un repository SVN per il proprio plugin su WordPress.org. Inoltre, è fondamentale che il codice del plugin rispetti i requisiti e le linee guida ufficiali, tra cui la qualità del codice, la sicurezza, il tipo di licenza (deve essere compatibile con la GPL) e la presenza di un file readme.txt standard. Una volta pronto, utilizzare gli strumenti SVN per inviare il codice al repository designato; il team di WordPress effettuerà una revisione del codice. Se il plugin viene approvato, apparirà nel catalogo ufficiale dove gli utenti potranno scaricarlo e installarlo.