
WordPress è la piattaforma CMS più popolare al mondo, in gran parte grazie alla sua flessibilità e alla vasta libreria di plugin che ne estendono le funzionalità. Se hai un’idea per una funzione specifica che non trovi in nessun plugin esistente, o vuoi personalizzare WordPress in modo unico, imparare a creare il tuo plugin è una competenza preziosa. Questa guida ti fornirà i passi essenziali per creare il tuo primo plugin WordPress, anche se sei un principiante con le basi di PHP.
Cosa Ti Serve Prima di Iniziare
Per sviluppare un plugin WordPress, avrai bisogno di:
- Conoscenze Base di PHP: WordPress è scritto in PHP, quindi una comprensione delle variabili, delle funzioni, delle classi e della logica di programmazione è fondamentale.
- Conoscenze Base di HTML, CSS e JavaScript: Utili per l’interfaccia utente del tuo plugin.
- Ambiente di Sviluppo Locale: Un server locale come XAMPP, MAMP o Local by Flywheel ti permette di installare WordPress sul tuo computer e testare il plugin senza influire su un sito live.
- Editor di Codice: Un buon editor come VS Code, Sublime Text o PhpStorm ti aiuterà a scrivere e organizzare il codice.
Step 1: La Struttura Base del Plugin
Ogni plugin WordPress risiede nella cartella wp-content/plugins/
della tua installazione WordPress.
- Crea la Cartella del Tuo Plugin: All’interno di
wp-content/plugins/
, crea una nuova cartella con un nome univoco per il tuo plugin (es.il-mio-plugin-personalizzato
). Usa solo lettere minuscole, trattini e numeri. - Crea il File Principale del Plugin: All’interno di questa nuova cartella, crea un file PHP con lo stesso nome della cartella (es.
il-mio-plugin-personalizzato.php
). Questo sarà il file principale del tuo plugin.
Step 2: L’Header del Plugin
Apri il file PHP principale (es. il-mio-plugin-personalizzato.php
) e aggiungi il seguente blocco di commento all’inizio del file. Questo “header” è cruciale perché è ciò che WordPress legge per identificare e attivare il tuo plugin.
PHP
<?php
/*
Plugin Name: Il Mio Plugin Personalizzato
Description: Un plugin semplice per dimostrare la creazione di un plugin WordPress.
Version: 1.0
Author: Il Tuo Nome
Author URI: https://iltuositoweb.it
Text Domain: il-mio-plugin-personalizzato
License: GPL2
*/
// Evita l'accesso diretto al file
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Il resto del codice del tuo plugin andrà qui sotto...
?>
- Plugin Name: Il nome visualizzato nell’elenco dei plugin di WordPress.
- Description: Una breve descrizione del tuo plugin.
- Version: La versione corrente del tuo plugin.
- Author: Il tuo nome o il nome della tua azienda.
- Author URI: Un link al tuo sito web o portfolio.
- Text Domain: Un identificatore univoco usato per la traduzione del plugin. Dovrebbe corrispondere al nome della cartella del plugin.
- License: La licenza del plugin (GPL2 è comune per i plugin WordPress).
if ( ! defined( 'ABSPATH' ) ) { exit; }
: Questa riga è una best practice di sicurezza. Impedisce l’accesso diretto al file PHP da parte di URL esterni, forzando l’esecuzione solo tramite WordPress.
Step 3: Scrivere il Tuo Primo Codice (Esempio Semplice)
Ora che hai la struttura base, puoi iniziare ad aggiungere funzionalità. Un buon punto di partenza è aggiungere un semplice filtro o azione di WordPress.
Esempio 1: Aggiungere un Testo al Fondo di Ogni Articolo
PHP
<?php
/*
Plugin Name: Il Mio Plugin Personalizzato
Description: Un plugin semplice per dimostrare la creazione di un plugin WordPress.
Version: 1.0
Author: Il Tuo Nome
Author URI: https://iltuositoweb.it
Text Domain: il-mio-plugin-personalizzato
License: GPL2
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Funzione che aggiunge del testo al contenuto del post
function il_mio_plugin_aggiungi_testo_articolo( $content ) {
// Verifichiamo se siamo in un singolo post
if ( is_single() ) {
$content .= '<p>Questo testo è stato aggiunto dal mio plugin personalizzato!</p>';
}
return $content;
}
// Aggiungiamo la funzione al filtro 'the_content'
add_filter( 'the_content', 'il_mio_plugin_aggiungi_testo_articolo' );
?>
add_filter()
: Questa funzione aggancia la tua funzione (il_mio_plugin_aggiungi_testo_articolo
) a un “filtro” di WordPress (the_content
). I filtri permettono di modificare dati che WordPress sta elaborando (in questo caso, il contenuto di un articolo).is_single()
: Una funzione condizionale di WordPress che verifica se la pagina corrente è un singolo articolo.
Esempio 2: Aggiungere un Messaggio nella Bacheca di Amministrazione
PHP
<?php
/*
Plugin Name: Il Mio Plugin Personalizzato
Description: Un plugin semplice per dimostrare la creazione di un plugin WordPress.
Version: 1.0
Author: Il Tuo Nome
Author URI: https://iltuositoweb.it
Text Domain: il-mio-plugin-personalizzato
License: GPL2
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Funzione che mostra un messaggio nella bacheca di amministrazione
function il_mio_plugin_messaggio_amministrazione() {
echo '<div class="notice notice-info is-dismissible"><p>Benvenuto nel tuo plugin personalizzato!</p></div>';
}
// Aggiungiamo la funzione all'azione 'admin_notices'
add_action( 'admin_notices', 'il_mio_plugin_messaggio_amministrazione' );
?>
add_action()
: Questa funzione aggancia la tua funzione (il_mio_plugin_messaggio_amministrazione
) a un’”azione” di WordPress (admin_notices
). Le azioni permettono di eseguire codice in punti specifici dell’esecuzione di WordPress (in questo caso, quando vengono visualizzati i messaggi di amministrazione).
Step 4: Attivare il Tuo Plugin
- Accedi alla Bacheca di WordPress: Vai su
wp-admin
nella tua installazione locale. - Vai alla Sezione Plugin: Nel menu laterale, clicca su “Plugin” -> “Plugin Installati”.
- Trova il Tuo Plugin: Dovresti vedere “Il Mio Plugin Personalizzato” nell’elenco.
- Attiva: Clicca su “Attiva” sotto il nome del tuo plugin.
Una volta attivato, il codice che hai scritto dovrebbe iniziare a funzionare!
Step 5: Best Practices e Consigli per lo Sviluppo di Plugin
- Unicità dei Nomi: Prefissa tutte le tue funzioni, classi e variabili con un prefisso unico (es.
il_mio_plugin_
) per evitare conflitti con altri plugin o con il tema. - Sicurezza:
- Nonce: Usa i nonce per proteggere i moduli e le richieste AJAX da attacchi CSRF (Cross-Site Request Forgery).
- Sanitizzazione e Validazione: Pulisci sempre i dati in ingresso (
$_POST
,$_GET
,$_REQUEST
) usando funzioni comesanitize_text_field()
,wp_kses()
, ecc. Valida i dati prima di usarli (es.is_email()
,is_numeric()
). - Escaping: Escapa sempre i dati in uscita per prevenire attacchi XSS (Cross-Site Scripting) usando funzioni come
esc_html()
,esc_attr()
,esc_url()
,wp_json_encode()
.
- Modularità: Per plugin più complessi, suddividi il codice in più file e cartelle (es. una cartella
includes
per le classi, unaassets
per CSS/JS). - Internazionalizzazione: Rendi il tuo plugin traducibile usando le funzioni di internazionalizzazione di WordPress (es.
__()
,_e()
). - Documentazione: Commenta il tuo codice per renderlo comprensibile a te stesso e ad altri.
- Debug: Utilizza la modalità debug di WordPress (modificando
wp-config.php
) e gli strumenti di debugging di PHP per identificare e risolvere i problemi. - Hook (Azioni e Filtri): Impara a fondo come funzionano le Azioni (
add_action()
,do_action()
) e i Filtri (add_filter()
,apply_filters()
) di WordPress. Sono il cuore dell’estensibilità della piattaforma. - Database Interactions: Se il tuo plugin necessita di memorizzare dati, usa la classe
wpdb
di WordPress per interagire con il database in modo sicuro. - Dashboard Amministrativa: Per aggiungere opzioni e impostazioni al tuo plugin, crea pagine di amministrazione personalizzate usando l’API di WordPress per le impostazioni.
Creare un plugin WordPress è un ottimo modo per approfondire la tua conoscenza di PHP e del funzionamento interno di WordPress. Inizia con funzionalità semplici, sperimenta con azioni e filtri, e gradualmente costruisci plugin più complessi. La community di WordPress è vasta e offre molte risorse per aiutarti nel tuo percorso di sviluppo.
Fonti Attendibili e Autorevoli:
- WordPress Codex (Developer Resources): https://developer.wordpress.org/plugins/ (La risorsa ufficiale e più completa per lo sviluppo di plugin. Indispensabile per ogni sviluppatore WordPress).
- Smashing Magazine: https://www.smashingmagazine.com/ (Offre tutorial di alta qualità e articoli approfonditi sullo sviluppo web, inclusi molti articoli su WordPress e lo sviluppo di plugin).
- WPBeginner: https://www.wpbeginner.com/ (Una risorsa eccellente con guide passo-passo e tutorial per principianti su WordPress, inclusa la creazione di plugin).
- Learn WordPress.org: https://learn.wordpress.org/ (Il sito ufficiale di apprendimento di WordPress con corsi e tutorial, inclusi quelli sullo sviluppo di plugin).
- PHP Official Documentation: https://www.php.net/ (La documentazione ufficiale di PHP, essenziale per comprendere il linguaggio di programmazione su cui si basa WordPress).
- W3Schools: https://www.w3schools.com/ (Una buona risorsa per le basi di HTML, CSS, JavaScript e PHP, utili per qualsiasi sviluppatore web).