Dall'inizio alla fine: una guida passo passo per imparare a sviluppare plugin per WordPress dall'inizio alla fine.

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

Basi dello sviluppo di plugin per WordPress e configurazione dell’ambiente di sviluppo

Un plugin per WordPress è essenzialmente un file o una serie di file PHP, situati nella directory di installazione di WordPress.wp-content/pluginsIl file si trova all’interno di una cartella. Per iniziare il percorso di sviluppo, è necessario prima configurare un ambiente di sviluppo locale appropriato. Questo solitamente prevede l’installazione di software per server locali (come XAMPP, MAMP o Local by Flywheel), un editor di codice (come VS Code o PhpStorm) e uno strumento di debug (come Query Monitor o Debug Bar).

Il primo passo nello sviluppo è la creazione del file principale del plugin. Il nome di questo file è molto importante; si consiglia di utilizzare parole inglesi descrittive.my-first-plugin.phpOgni plugin deve disporre di almeno un file principale, e la parte iniziale di tale file deve contenere le annotazioni relative alle informazioni standard del plugin. Questo è fondamentale affinché WordPress possa riconoscere il plugin e mostrarlo nell’interfaccia di amministrazione.

<?php
/**
 * Plugin Name: 我的第一个插件
 * Plugin URI:  https://yourwebsite.com/my-first-plugin
 * Description: 这是一个用于演示WordPress插件开发流程的简单插件。
 * Version:     1.0.0
 * Author:      你的名字
 * Author URI:  https://yourwebsite.com
 * License:     GPL v2 or later
 * Text Domain: my-first-plugin
 */

Questo commento fornisce i metadati di base del plugin. Dopo aver completato questo passaggio, carica il file su…wp-content/pluginsIl catalogo dei plugin è disponibile sulla pagina “Plugin” nell’interfaccia amministrativa di WordPress; lì potrai visualizzarli e attivarli.

Si consiglia di leggere Dall'inizio all'eccellenza: guida completa allo sviluppo di plugin per WordPress e migliori pratiche.

Costruire le funzionalità principali e l’architettura di un plugin

Comprendere i “action hooks” e i “filters”

Il cuore dello sviluppo di plugin per WordPress risiede nel meccanismo dei “Hook” (Ganci), che permette al tuo codice di essere integrato nei processi principali di WordPress in momenti specifici. I Hook si dividono principalmente in due tipi: le “Actions” (Azioni) e i “Filters” (Filtri). Gli Hook di tipo Action eseguono il tuo codice quando si verifica un evento specifico, ad esempio l’pubblicazione di un articolo o il caricamento della pagina di visualizzazione; gli Hook di tipo Filter, invece, ti consentono di modificare i dati che vengono passati durante i processi.

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

Ad esempio, utilizzando…wp_headGli “action hooks” permettono di aggiungere contenuto personalizzato nella parte superiore delle pagine frontali di un sito web.

Creare la pagina di configurazione del plugin

Per permettere agli utenti di configurare il tuo plugin, di solito è necessario creare una pagina di impostazioni.add_menu_pageadd_options_pageLa funzione permette di aggiungere una nuova pagina all’interfaccia di amministrazione di WordPress. Il processo prevede l’incorporamento (o “mounting”) di una tua funzione personalizzata all’interfaccia di amministrazione di WordPress.admin_menuSul gancio dell’azione.

add_action('admin_menu', 'mfp_create_menu');
function mfp_create_menu() {
    add_options_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'mfp-settings',   // 菜单 Slug
        'mfp_settings_page' // 显示页面内容的函数
    );
}
function mfp_settings_page() {
    // 这里输出设置页面的HTML表单
    echo '<div class="wrap"><h2>I miei setting per il plugin</h2></div>';
}

In questo modo, è possibile creare un modulo in background per elaborare i dati inviati dagli utenti.$_POST…) e salvarlo in modo sicuro su WordPress.optionsNella tabella.

Registrarsi in modo sicuro e salvare le impostazioni

Per gestire le impostazioni in modo più sicuro e standardizzato, si consiglia l’utilizzo dell’API WordPress Settings. Questa API si occupa di compiti noiosi e complessi, come la verifica non sicura (Nonce), il controllo degli accessi e la salvazione dei dati. Le funzioni principali coinvolte includono:register_settingadd_settings_sectionadd_settings_fieldL’utilizzo dell’API Settings permette di garantire che le impostazioni del tuo plugin siano in linea con lo stile delle impostazioni native di WordPress, rendendole al contempo più sicure e affidabili.

Si consiglia di leggere Da zero: Guida completa allo sviluppo di plugin per WordPress e migliori pratiche

Implementazione della sicurezza e dell’internazionalizzazione dei plugin

Verifica dei dati, escape e verifica non sicura.

La sicurezza rappresenta un aspetto di fondamentale importanza nello sviluppo di plugin. Ogni dato proveniente dagli utenti o dal database deve essere considerato non affidabile. Quando i dati vengono inviati al browser, è necessario effettuare l’escape, utilizzando funzioni appropriate per garantire la corretta visualizzazione e l’evitare possibili problemi di sicurezza.esc_htmlesc_attrwp_kses_postQuesto viene eseguito per prevenire gli attacchi di tipo Cross-Site Scripting (XSS). Prima di salvare i dati nel database, è necessario effettuare controlli rigorosi e operazioni di pulizia dei dati stessi.

Per tutti i moduli amministrativi che coinvolgono la modifica dei dati, è obbligatorio utilizzare un metodo di verifica non sicuro.wp_nonce_fieldGenera un campo di verifica casuale e unico all’interno del modulo, e utilizzalo durante l’elaborazione della richiesta di invio.wp_verify_noncePer verificare la sua validità e prevenire attacchi di falsificazione delle richieste tra siti (Cross-Site Request Forgery, CSRF).

Rendere il plugin compatibile con più lingue

L’internazionalizzazione permette al tuo plugin di essere utilizzato da utenti in tutto il mondo. Per questo è necessario che tu prepari in anticipo tutte le stringhe visibili agli utenti. Nel codice, utilizza…__('Text', 'text-domain')Per tradurre la stringa, utilizza…_e('Text', 'text-domain')Per visualizzare direttamente la stringa tradotta. Il “Text Domain” nell'intestazione del plug-in deve corrispondere a quello utilizzato qui.text-domain“Consistente” si riferisce solitamente al nome della cartella che contiene i plugin o al nome del file principale.

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%

Dopo aver completato l’incapsulamento del codice, è necessario utilizzare uno strumento come Poedit per generare il file di traduzione..potI file di template permettono agli interpreti di creare contenuti in varie lingue basandosi su di essi..po.moTrasferisci il file di traduzione nella directory del plugin.languagesAll’interno della cartella, WordPress caricherà automaticamente le traduzioni corrispondenti in base alle impostazioni di lingua del sito.

Funzionalità avanzate e preparazione alla pubblicazione

Una volta che le funzionalità di base e la sicurezza del plugin sono state garantite, puoi considerare l’aggiunta di funzionalità più avanzate. Ad esempio, è possibile creare tipi di articoli personalizzati per gestire tipi di contenuti specifici (come “prodotti” o “portafogli di opere”).register_post_typeLa funzione può essere implementata direttamente. In alternativa, è possibile aggiungere strumenti personalizzati attraverso l’estensione del sistema.WP_WidgetSi possono creare moduli che possono essere trascinati nell’area degli strumenti visivi (visual widgets) utilizzando classi specifiche.

Prima di pubblicare un plugin, è essenziale effettuare test approfonditi per garantirne il corretto funzionamento in diverse versioni di WordPress, PHP, nonché in ambienti in cui coesistono vari temi e altri plugin. Per farlo, si possono utilizzare strumenti o metodi simili a…defined('ABSPATH') or die('No script kiddies please!');Utilizzare frasi specifiche per impedire l’accesso diretto ai file e migliorare così la sicurezza.

Si consiglia di leggere Analisi approfondita dello sviluppo di temi e plugin per WordPress: dall’introduzione alla pratica

Infine, scrivi una descrizione chiara per il tuo plugin.README.txtIl documento fornisce una descrizione dettagliata delle funzionalità del plugin, dei passaggi per l’installazione, nonché delle risposte alle domande più comuni. Se pianifici di inviare il plugin nel catalogo ufficiale di plugin di WordPress, dovrai seguire anche le specifiche norme di codifica e le esigenze di struttura del catalogo stesso. Una volta completati tutti i controlli e i test, potrai archiviare il tuo lavoro in un file ZIP e condividerlo con gli utenti o inviarlo al catalogo ufficiale.

Riassumendo

Lo sviluppo di plugin per WordPress rappresenta un processo che trasforma le idee in funzionalità concrete, e richiede una profonda comprensione del meccanismo di “hook” presente nel nucleo di WordPress. Si inizia creando un file principale che contenga le annotazioni standard, per poi costruire gradualmente le funzionalità desiderate, ponendo sempre al primo posto aspetti legati alla sicurezza (verifiche, escape, meccanismi di sicurezza non standard) e all’internazionalizzazione. Seguendo pratiche standard, come l’utilizzo dell’API Settings e della classe WP_Widget, si può garantire la professionalità e la compatibilità del plugin. Infine, test approfonditi e documentazione chiara sono elementi essenziali per il successo della pubblicazione del plugin. Padroneggiando l’intero processo, si possiede la chiave per contribuire in modo significativo al mondo di WordPress.

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.

FAQ - Domande frequenti

Per sviluppare un plugin WordPress, quale livello di conoscenza del PHP è necessario?

È necessario padroneggiare la grammatica di base di PHP, inclusi i concetti di variabili, array, istruzioni condizionali, cicli, funzioni e programmazione orientata agli oggetti. Poiché il nucleo di WordPress e la maggior parte dei suoi plugin adottano uno stile di programmazione procedurale e utilizzano ampiamente funzioni di hook, è particolarmente importante comprendere l’uso delle funzioni e i meccanismi di callback. Non è necessario diventare un esperto di PHP, ma una solida base è essenziale.

Come si debugga un plugin in fase di sviluppo?

Si consiglia di installare e abilitare plugin di debug dedicati, come Query Monitor e Debug Bar. Inoltre,wp-config.phpÈ essenziale attivare il modalità di debug di WordPress nel file in questione:WP_DEBUGLa costante è impostata sutrueQuesto permetterà di visualizzare tutti gli errori, gli avvisi e le notifiche di PHP sulla pagina, facilitando così la rapida individuazione dei problemi. Per logiche più complesse, è possibile utilizzare…error_log()La funzione registra le informazioni relative alle variabili nel log di errore del server per analizzarle.

Dove dovrebbe essere posizionato il codice del plugin?

Tutto il codice esclusivo per i plugin deve essere posizionato…wp-content/pluginsAll’interno del directory, ogni plugin dovrebbe disporre di una sottocartella dedicata. I file principali, i file JavaScript, i file CSS, le risorse grafiche nonché tutti gli altri file PHP devono essere organizzati all’interno di questa sottocartella. Questo approccio è più conveniente rispetto al mettere tutti i file direttamente nel directory principale.pluginsIl contenuto presente nella directory principale è più ordinato e più facile da gestire.

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

Per massimizzare la compatibilità, il tuo plugin dovrebbe aggiungere funzionalità solo quando necessario e evitare di modificare direttamente le variabili globali o di sovrascrivere le funzioni di base. Utilizza sempre un prefisso specifico per il plugin per denominare le tue funzioni, classi e costanti.mfp_custom_functionIn questo modo è possibile evitare efficacemente i conflitti di nomi. Quando si aggiungono stili o script front-end, è necessario gestire correttamente le dipendenze e prendere in considerazione il caricamento condizionale dei file, per non influenzare le pagine non correlate.