WordPress è il sistema di gestione dei contenuti più popolare al mondo, e la sua notevole estensibilità deriva in gran parte dall’architettura basata su plugin. Quando scopri che le funzionalità disponibili non soddisfano le tue esigenze, lo sviluppo di un plugin personalizzato rappresenta la scelta migliore. Questo non solo permette di risolvere problemi specifici, ma rappresenta anche un ottimo modo per comprendere più a fondo il funzionamento interno di WordPress. Questo guida ti accompagnerà passo dopo passo nello sviluppo del tuo primo plugin per WordPress, dalla configurazione dell’ambiente di sviluppo alla scrittura del codice, fino alla sua pubblicazione finale.
Preparazione dell’ambiente di sviluppo e degli strumenti
Prima di iniziare a scrivere il codice, hai bisogno di un ambiente di sviluppo appropriato. Questo ti assicurerà che il processo di sviluppo sia efficiente e in linea con le migliori pratiche di WordPress.
Configurazione dell’ambiente di sviluppo locale
La soluzione preferibile è quella di creare un ambiente di server locale sul proprio computer. Puoi utilizzare strumenti come XAMPP, MAMP (per Mac), WAMP (per Windows) o Docker, che integrano il server Apache, il database MySQL e PHP, simulando perfettamente le condizioni di funzionamento di WordPress in ambiente online. Dopo aver installato il server locale, scarica la versione più recente di WordPress dal sito ufficiale di WordPress.org e configurala localmente seguendo la procedura standard di “installazione in 5 minuti”.
Si consiglia di leggere Guida introduttiva allo sviluppo di plugin per WordPress: crea il tuo primo plugin funzionale da zero.。
Editor di codice e strumenti essenziali
Un potente editor di codice è essenziale. Visual Studio Code, PhpStorm o Sublime Text sono ottime scelte: offrono evidenziazione del codice, suggerimenti intelligenti e funzionalità di debug. Inoltre, ti servirà un sistema di controllo delle versioni, come Git, per gestire i cambiamenti apportati al codice. Anche se il primo plugin potrebbe sembrare semplice, abituarsi all’uso di un sistema di controllo delle versioni è fondamentale per lo sviluppo futuro.
Crea il tuo primo file di plugin.
Ogni plugin per WordPress inizia da un file principale, che contiene le informazioni necessarie per i commenti di intestazione (header comments) affinché WordPress possa riconoscere il plugin stesso.
Struttura del file principale del plugin
Nel directory di installazione di WordPress locale, entra…wp-content/pluginsCartella. Crea una nuova cartella qui e dale il nome di…my-first-plugin(Il nome dovrebbe essere semplice e descrivere la funzionalità del plugin.) All’interno di questa cartella, creare un file PHP che di solito avrà lo stesso nome della cartella stessa.my-first-plugin.phpQuesto file sarà il punto di ingresso per il plugin.
Scrivere le informazioni di intestazione del plugin
All’inizio di questo file principale, è necessario aggiungere una nota di testo nella parte relativa alla testa del plugin che segua gli standard di WordPress. Questa nota fornisce informazioni di base sul plugin. Ecco un esempio molto semplice:
<?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
*/ Questo codice rappresenta l“”identificativo” del plugin.Plugin NameQuesto campo è obbligatorio: determina il nome con cui il plugin verrà visualizzato nell’interfaccia di amministrazione di WordPress. Si consiglia inoltre di compilare completamente anche le altre informazioni, come la descrizione e il numero di versione. Dopo aver salvato il file, accedi alla pagina “Plugin” nell’interfaccia di amministrazione di WordPress: dovresti vedere il tuo primo plugin elencato nell’elenco dei plugin disponibili e poterlo attivare. Al momento, il plugin non dispone di alcuna funzionalità.
Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: crea il tuo primo plugin funzionale da zero。
Aggiungere funzionalità di base al plugin
Dopo l’attivazione del plugin, ne aggiungeremo due funzionalità di base: l’inserimento di testo personalizzato alla fine del contenuto degli articoli e la creazione di una semplice pagina di gestione.
Utilizzare degli “hook” per modificare il contenuto di un articolo.
Il meccanismo fondamentale di WordPress sono i “Hook” (Ganci), che ti permettono di inserire il tuo codice in momenti specifici del funzionamento del sistema. Gli Action Hooks vengono utilizzati per eseguire determinate azioni, mentre i Filter Hooks servono per modificare i dati. Dobbiamo aggiungere una riga di testo alla fine del contenuto di un articolo, e per farlo dobbiamo utilizzare i Hook appropriati.the_contentQuesto filtro hook.
Sotto i commenti presenti all’inizio del file del tuo plugin principale, aggiungi la seguente funzione e gli hook necessari:
// 在文章内容末尾添加自定义文本
function myfp_add_footer_text( $content ) {
// 仅在主循环的单篇文章页面添加
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><em>Grazie per la lettura! Questo articolo è stato generato da “Il mio primo plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
// 将函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'myfp_add_footer_text' ); Dopo aver salvato il file, aggiorna la pagina di un articolo sul front-end del sito web e vedrai il testo aggiunto nella parte inferiore del contenuto dell’articolo. In questo codice…myfp_add_footer_textLa funzione riceve il dato originale.$contentDopo aver verificato le condizioni della pagina, è stato aggiunto un testo di paragrafo HTML personalizzato; infine, il contenuto modificato è stato restituito.add_filter()La funzione associa la nostra funzione personalizzata ai filtri di base di WordPress.
Creare un semplice menu di gestione
Successivamente, creeremo una pagina di configurazione per il plugin nell’interfaccia di amministrazione di WordPress. Questo richiede l’utilizzo di “action hooks” per aggiungere un nuovo elemento al menu di gestione. Aggiungete il seguente codice:
// 在后台管理菜单中添加一个新页面
function myfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 所需权限
'my-first-plugin', // 菜单slug
'myfp_admin_page_html', // 用于输出页面内容的回调函数
'dashicons-admin-generic', // 图标(可选)
100 // 菜单位置
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' );
// 定义管理页面的HTML内容
function myfp_admin_page_html() {
// 检查用户权限
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
<p>Benvenuti sulla pagina di configurazione del mio primo plugin. Questo è solo l’inizio!</p>
</div>
<?php
} Salva e aggiorna il backend di WordPress; dovresti vedere un nuovo elemento del menu “I miei plugin” vicino alla parte inferiore del menu a sinistra. Cliccandoci, accederai a una semplice pagina di configurazione. Qui,add_menu_page()La funzione è responsabile della registrazione della pagina del menu principale.myfp_admin_page_html()La funzione è responsabile della rendering del contenuto HTML della pagina.
Sicurezza dei plugin e ottimizzazione del codice
Quando si sviluppano plugin, la sicurezza e la manutenibilità devono essere considerate aspetti fondamentali fin dall’inizio del progetto.
Si consiglia di leggere Partendo da zero: perché scegliere lo sviluppo di plugin per WordPress?。
Convalida dei dati ed escape
Non fidarsi mai degli input forniti dagli utenti o dei dati esterni. Prima di visualizzare qualsiasi dato nel browser o di salvarlo nel database, è necessario elaborarlo. WordPress mette a disposizione numerose funzioni di aiuto in questo senso. Ad esempio, quando si desidera visualizzare un valore in un attributo HTML, è possibile utilizzare le funzioni appropriate fornite dal framework.esc_attr()Quando si esporta in un testo HTML, utilizzare
per indicare un nuovo paragrafo.esc_html()Quando si esegue l'output in un URL, utilizzare
per indicare un nuovo paragrafo.esc_url()In precedenza…myfp_admin_page_html()Nella funzione, abbiamo utilizzato…esc_html()Esegui l’output del titolo della pagina in modo sicuro.
Organizzare il codice utilizzando classi
Con l’aumento del numero di funzionalità offerte dai plugin, posizionare tutte le funzioni nello spazio di nomi globale può facilmente causare conflitti e confusione. È una buona abitudine utilizzare le classi PHP per incapsulare le funzionalità dei plugin: ciò permette di migliorare l’organizzazione del codice, la sua leggibilità e la sua riutilizzabilità. Ecco il framework di base per riscrivere le nostre funzionalità precedenti utilizzando le classi:
class My_First_Plugin {
// 构造方法,用于初始化钩子
public function __construct() {
add_filter( 'the_content', array( $this, 'add_footer_text' ) );
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
}
public function add_footer_text( $content ) {
// ... 函数实现同上 ...
}
public function add_admin_menu() {
// ... 函数实现同上 ...
}
public function admin_page_html() {
// ... 函数实现同上 ...
}
}
// 实例化插件类
new My_First_Plugin(); Questo approccio consente di legare tutti i metodi e gli attributi correlati in un unico oggetto, rendendo la struttura più chiara e comprensibile.
Riassumendo
Seguendo questa guida, hai completato i passaggi fondamentali per creare un plugin per WordPress partendo da zero: hai configurato l’ambiente di sviluppo, creato il file del plugin contenente le informazioni di intestazione standard, utilizzato gli “action hooks” e i “filter hooks” per aggiungere funzionalità al contenuto degli articoli, nonché creato un’interfaccia di gestione. Hai anche iniziato a comprendere l’importanza della sicurezza e dell’organizzazione del codice. Questo è solo un punto di partenza: il mondo dello sviluppo di plugin per WordPress è molto vasto e ti offre molte opportunità, come l’utilizzo di “shortcode”, “widget”, “tipi di articoli personalizzati” (Custom Post Types) e endpoint REST API. Ricorda che leggere il codice sorgente, prendere spunto dall’implementazione di plugin di qualità e consultare i documenti ufficiali dei developer rappresentano i metodi migliori per migliorare continuamente le tue competenze.
FAQ - Domande frequenti
Per sviluppare plugin, è necessario padroneggiare alcune tecnologie fondamentali. Tra queste figurano:
Per sviluppare plugin per WordPress è necessario padroneggiare le nozioni di base di PHP, HTML, CSS e JavaScript. PHP è fondamentale, poiché WordPress è scritto in questo linguaggio; con esso si crea la logica dei plugin. HTML/CSS sono utilizzati per costruire l’interfaccia grafica del sito, mentre JavaScript (soprattutto jQuery e le versioni più recenti di ES6+) permettono di migliorare l’interattività e di effettuare richieste AJAX. Una conoscenza di base di MySQL è inoltre utile per gestire i dati.
Perché il mio plugin non viene visualizzato in background?
Per favore, controlla prima i seguenti punti: 1. Il file principale del plug-in è stato posizionato inwp-content/pluginsAll’interno delle cartelle indipendenti presenti nel directory. 2. Le note presenti nella parte iniziale del file principale relative ai plugin (in particolare…).Plugin Name:1. Il formato è corretto e privo di errori?
2. La codifica del file è UTF-8 senza BOM?
3. Sono presenti errori di sintassi che hanno causato il fallimento dell'analisi da parte di PHP? È possibile controllare il registro di debug di WordPress (necessario farlo all'interno di <).wp-config.phpAbilitato in…WP_DEBUG)。
Come testare un plugin senza influenzare il sito web online?
Si consiglia vivamente di sviluppare e testare i plugin nell’ambiente di sviluppo locale (ad esempio, Local by Flywheel o XAMPP) o su un server di test separato (Staging Site). È assolutamente vietato testare nuovi plugin non verificati direttamente su un sito di produzione in funzione che contiene dati importanti. Utilizzate strumenti di controllo delle versioni (come Git) per gestire il codice, in modo da poter facilmente tornare a una versione precedente in caso di problemi.
Come dovrebbero essere aggiornate le versioni dei plugin?
Dovresti aggiornare le note nella parte iniziale del file principale del plugin.Version:Per gli aggiornamenti più significativi, si consiglia di adottare un sistema di controllo delle versioni semantico (SemVer): ad esempio, per correggere un bug si aumenta il numero di revisione (es. 1.0.1); per le nuove funzionalità compatibili con le versioni precedenti si aumenta il numero della sottoversione (es. 1.1.0); per gli aggiornamenti incompatibili con le versioni precedenti si aumenta il numero della versione principale (es. 2.0.0). È inoltre possibile implementare meccanismi per rilevare gli aggiornamenti (ad esempio, ospitando le informazioni sui plugin sui propri server o nel catalogo di plugin di WordPress), in modo che gli utenti ricevano notifiche in background.
Quali sono i requisiti per pubblicare un plugin nel catalogo ufficiale?
Se desideri inviare un plug-in alla directory ufficiale dei plug-in di WordPress.org, è necessario soddisfare i seguenti requisiti principali: il codice del plug-in deve essere compatibile con la licenza GPLv2 o versioni successive; la qualità del codice deve essere adeguata e conforme agli Standard di codifica di WordPress; le funzionalità devono essere universali e pratiche, non personalizzate per un sito web specifico; non deve contenere codice dannoso o link spam. Prima dell'invio, è fondamentale leggere attentamente le linee guida e i requisiti dettagliati nel Centro sviluppatori della directory ufficiale.
Il prossimo passo, cosa dovremo fare dopo?
Per una lettura approfondita e conoscenza pratica
I seguenti contenuti sono correlati all'argomento di questo articolo e sono adatti per una lettura approfondita. È consigliabile iniziare con l'articolo più vicino al tuo problema attuale, per poi passare gradualmente agli argomenti correlati, il che di solito dà risultati migliori.
- Il guida definitiva per creare siti web con WordPress: dall’essere principianti a diventare esperti, per creare siti professionali
- Perché scegliere WordPress come piattaforma preferita per il proprio sito web?
- Guida di base a WordPress: Costruisci il tuo primo sito web professionale da zero
- Cos’è WordPress? Una introduzione completa al sistema di gestione dei contenuti (Content Management System, CMS).
- Prefazione: Perché scegliere WordPress per lo sviluppo?