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

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

Preparazione dell’ambiente per lo sviluppo di plugin per WordPress

Prima di iniziare a scrivere il codice, è necessario disporre di un ambiente di sviluppo locale adatto. Si consiglia vivamente di non sviluppare i plugin direttamente su server produttivi online. Un ambiente di sviluppo tipico per WordPress include software per server locali (come XAMPP, MAMP, Local by Flywheel o Docker), un editor di codice (come VS Code o PHPStorm) e una nuova installazione di WordPress.

Devi assicurarti che la versione di PHP che utilizzi sia compatibile con la versione di WordPress a cui ti stai rivolgendo. Di solito, il core di WordPress è compatibile con diverse versioni di PHP. Per lo sviluppo di plugin, si consiglia l’utilizzo di PHP 7.4 o versioni più recenti, in modo da poter sfruttare sintassi e funzionalità più moderne. Inoltre, è necessario abilitare alcune funzionalità nel pannello di amministrazione di WordPress.WP_DEBUGIl “modello” (o “schema”) può aiutarti a individuare rapidamente gli errori durante il processo di sviluppo. Nel tuo caso…wp-config.phpNel file, trova e imposta le seguenti costanti:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Con questa configurazione, i messaggi di errore verranno registrati./wp-content/debug.logI file vanno archiviati all’interno del sistema e non visualizzati direttamente sulla pagina, in modo da non influenzare l’esperienza d’uso dell’utente da parte del front end. Questa è considerata la pratica migliore.

Si consiglia di leggere Dallo zero all’uno: Guida autorevole e tutorial pratico per lo sviluppo di plugin per WordPress

Crea il tuo primo file di plugin.

Tutti i plugin di WordPress sono archiviati in…/wp-content/plugins/È presente nel catalogo. Ogni plugin dispone di una cartella separata; il nome della cartella deve essere semplice e rappresentare correttamente le funzionalità del plugin stesso. Ora creeremo il primo 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).

Scrivere il file principale del plugin

All’interno della tua cartella dei plugin, è necessario creare un file PHP principale. Il nome di questo file di solito corrisponde al nome della cartella stessa, ad esempio…my-first-plugin.phpQuesto file rappresenta l’interfaccia di accesso al plugin; deve contenere una specifica annotazione di intestazione del plugin. WordPress utilizza queste informazioni metadati per elencare il tuo plugin nella pagina di gestione dei plugin in background.

<?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
 */

Dopo aver salvato questo file, potrai trovarlo sulla pagina “Plugin” nell’interfaccia amministrativa di WordPress. Ora puoi attivarlo; anche se al momento non dispone di alcuna funzionalità concreta, questo rappresenta comunque un importante traguardo. Nella parte iniziale del file del plugin…Text DomainDomain PathUtilizzato per l’internazionalizzazione e la localizzazione, al fine di prepararsi al futuro rilascio di plugin.

La sicurezza di base e la struttura dei plugin

La sicurezza è la priorità assoluta nello sviluppo di plugin. Un approccio fondamentale consiste nel impedire l’accesso diretto ai file del plugin stesso. Questo può essere ottenuto aggiungendo un controllo per verificare l’accesso diretto all’inizio dei file. Modifica il tuo file principale e inserisci il seguente codice dopo le note iniziali del plugin:

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

Questo codice verifica le costanti.ABSPATHVerifica se il file PHP è stato definito correttamente; in caso contrario (il che indica che qualcuno ha tentato di accedervi direttamente tramite l’URL), interrompi l’esecuzione dello script. Questa è una misura di sicurezza essenziale che tutti i plugin di qualità per WordPress dovrebbero possedere.

Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: un corso pratico per partire da zero fino alla pubblicazione sul sito web.

Aggiungere funzionalità essenziali al plugin

Il ruolo degli plugin è quello di estendere le funzionalità di WordPress. Impariamo come aggiungere nuove funzionalità attraverso due esempi semplici: la creazione di una pagina di gestione e l’inserimento di contenuti sul lato front-end.

Aggiungi un semplice menu di gestione.

Innanzitutto, impareremo come aggiungere una pagina di menu appartenente al nostro plugin nell’interfaccia di amministrazione del backend. Per farlo, è necessario utilizzare il sistema dei “Hook” di WordPress.admin_menuAction Hook.

Aggiungiamo una funzione nel file principale del plugin, ad esempio…mfp_add_admin_menuPoi utilizzalo.add_actionLa funzione lo monta suadmin_menuSul gancio.

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 mfp_add_admin_menu() {
    add_menu_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',       // 权限要求
        'my-first-plugin',      // 菜单Slug
        'mfp_admin_page_html',  // 用于渲染页面内容的回调函数
        'dashicons-admin-generic', // 图标(使用Dashicons)
        30                      // 菜单位置
    );
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );

Successivamente, dobbiamo definire le funzioni di callback utilizzate in precedenza.mfp_admin_page_htmlPer visualizzare il contenuto HTML della pagina. Questo è un esempio molto semplice:

function mfp_admin_page_html() {
    // 再次检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <p>Ciao, mondo! Questa è la mia prima pagina di gestione dei plugin.</p>
    </div>
    &lt;?php
}

Ora, aggiorna il backend di WordPress e dovresti vedere un nuovo elemento nel menu di navigazione a sinistra: “I miei plugin”.

Aggiungere del testo in fondo alla pagina front-end.

Oltre a gestire il lato backend, spesso abbiamo la necessità di modificare il lato frontend. Ad esempio, vorremmo aggiungere una nota di copyright in fondo a tutti gli articoli e alle pagine. Questa volta utilizzeremo…the_contentFilter hook.

Si consiglia di leggere Guida introduttiva allo sviluppo di plugin per WordPress: crea la tua prima estensione funzionale da zero.

I “filter hook” ti permettono di modificare i dati passati a una funzione. Creeremo quindi una funzione.mfp_add_footer_textRiceve il contenuto dell’articolo come parametro e vi aggiunge il nostro testo.

function mfp_add_footer_text( $content ) {
    // 仅对主循环中的单篇文章和页面生效
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $footer_text = '<p><em>Questo articolo è supportato dal mio primo plugin.</em></p>';
        $content .= $footer_text;
    }
    return $content;
}
add_filter( 'the_content', 'mfp_add_footer_text' );

Questo codice verifica innanzitutto se l’ambiente attuale corrisponde a un singolo articolo o pagina, e se si trova all’interno del ciclo principale di elaborazione dei dati, al fine di evitare l’aggiunta ripetuta di testo in altre aree del sito (ad esempio, nei widget o negli estratti). Successivamente, aggiunge un paragrafo HTML contenente le informazioni sul copyright alla parte principale del contenuto originale e ne restituisce il risultato.

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.

Pratiche avanzate nello sviluppo di plugin

Una volta acquisita una solida conoscenza delle basi, approfondire alcune pratiche avanzate renderà il tuo plugin più professionale e affidabile.

Implementare opzioni di plugin configurabili

Un plugin maturo di solito consente agli utenti di effettuare configurazioni personalizzate. WordPress offre un’API per la gestione delle impostazioni, al fine di semplificare la creazione delle pagine dedicate alle opzioni di configurazione. Questo processo prevede la registrazione delle impostazioni, l’aggiunta di campi di configurazione e la suddivisione dei contenuti in sezioni logiche. Sebbene sia più complesso rispetto all’aggiunta diretta di pagine di menu, tale approccio gestisce automaticamente aspetti legati alla sicurezza (ad esempio, la verifica tramite Nonce) e il salvataggio dei dati dei moduli.

Di solito, memorizziamo le opzioni dei plugin sotto forma di array in WordPress.wp_optionsNel tabellone. Puoi utilizzarlo.add_option()get_option()update_option()Esistono funzioni per manipolare i dati del tuo plugin.

Utilizzare le classi per organizzare il codice dei plugin.

Quando le funzionalità di un plugin aumentano, mettere tutte le funzioni nello spazio dei nomi globale può facilmente causare conflitti tra i nomi delle funzioni. La pratica migliore è utilizzare classi PHP per incapsulare le funzionalità del plugin. Questo non solo permette di organizzare meglio il codice, ma sfrutta anche le caratteristiche dell’orientamento agli oggetti, come il caricamento automatico delle classi, lo spazio dei nomi (se si utilizza PHP 5.3 o versioni successive) e una maggiore riservatezza dei dati.

Un file principale di un plugin basato su classi potrebbe avere l’aspetto seguente:

if ( ! defined( 'ABSPATH' ) ) exit;

class My_First_Plugin {
    public function __construct() {
        // 在构造函数中挂载所有钩子
        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
        add_filter( 'the_content', array( $this, 'add_footer_text' ) );
    }

public function add_admin_menu() { /* ... */ }
    public function add_footer_text( $content ) { /* ... */ }
}

// 初始化插件
new My_First_Plugin();

Questo approccio raggruppa tutti i metodi correlati in una singola classe, migliorando notevolmente la manutenibilità del codice.

Riassumendo

Questo guida ti ha accompagnato nel completare l’intero processo di creazione di un plugin personalizzato per WordPress, partendo da zero. Hai imparato come configurare l’ambiente di sviluppo, come creare una struttura dei file sicura per il plugin, come utilizzare gli “action hooks” e gli “filter hooks” per estendere le funzionalità sia del lato server che di quello client, nonché come applicare pratiche di sviluppo avanzate basate su approcci orientati agli oggetti e l’utilizzo di API. Il cuore dello sviluppo di plugin risiede nella comprensione del sistema di hook di WordPress: esso offre innumerevoli opportunità per modificare il comportamento della piattaforma senza dover modificare il codice sorgente. Continuare a praticare, partendo dalla scrittura di funzionalità semplici per poi passare gradualmente a plugin più complessi, è il modo migliore per acquisire questa competenza.

FAQ - Domande frequenti

Quali conoscenze di PHP sono necessarie per sviluppare plugin per ###?
È necessario padroneggiare la grammatica di base di PHP, inclusi variabili, array, funzioni, condizioni di controllo e cicli. Ancora più importante è comprendere come interagire con l’API di WordPress, ad esempio come utilizzare gli “hook” (i meccanismi di integrazione predefiniti).add_action, add_filterLe conoscenze delle funzioni comuni di WordPress sono essenziali per lo sviluppo di plugin efficaci. La programmazione orientata agli oggetti (OOP – Object-Oriented Programming) risulta particolarmente utile quando si creano plugin complessi, poiché permette di strutturare il codice in modi più organizzati e flessibili.

Come si debugga un plugin sviluppato da sé?

AttivareWP_DEBUGIl passaggio più cruciale è quello relativo alla definizione del “modello” (pattern). Guarda qui.wp-content/debug.logIl file contiene i log degli errori. Inoltre, è possibile utilizzarli direttamente nel codice.var_dump()error_log()La funzione visualizza informazioni di debug. Ad esempio,error_log( print_r( $variable, true ) );È possibile registrare il contenuto di qualsiasi variabile nel file `debug.log`. L’utilizzo di plugin di debug professionali, come Query Monitor, può inoltre migliorare notevolmente l’efficienza nel processo di debug.

Posso utilizzare librerie PHP di terze parti all’interno di un plugin?

Certo, ma è necessario procedere con cautela. Per evitare conflitti di versione con altre librerie utilizzate da plugin o temi, si consiglia di utilizzare lo strumento di gestione delle dipendenze PHP Composer e di sfruttarne la funzionalità di caricamento automatico. Quando si packa e si pubblica un plugin, è possibile scegliere di includere i file della libreria all’interno del proprio plugin (assicurandosi di rispettare i termini della licenza della libreria stessa), oppure di richiedere agli utenti di installare la dipendenza direttamente sul server.

Una volta completato lo sviluppo del plugin, come posso pubblicarlo nel catalogo ufficiale di WordPress?

Devi accedere a WordPress.org per inviare il tuo plugin in valutazione. Il codice del tuo plugin deve essere conforme agli standard e alle linee guida ufficiali di codifica, ad esempio assicurando la sicurezza e implementando funzionalità di internazionalizzazione (utilizzando le opportunità offerte da WordPress per supportare diverse lingue e culture).__()_e()La funzione include anche una descrizione dettagliata…readme.txtDopo l’approvazione, il tuo plugin sarà disponibile per essere cercato e installato dagli utenti in tutto il mondo.