Perché imparare lo sviluppo di plugin per WordPress?
WordPress, come il sistema di gestione dei contenuti più popolare al mondo, deve la sua notevole estensibilità principalmente al meccanismo dei plugin. Imparare a sviluppare plugin significa non essere più limitati dalle funzionalità disponibili, ma essere in grado di creare soluzioni personalizzate in base alle esigenze del progetto: sia per offrire funzionalità uniche ai clienti, sia per trasformare idee creative in prodotti concreti da condividere con la comunità. Acquisire questa competenza può migliorare significativamente l’efficienza del tuo lavoro e la tua competitività sul mercato.
Un plugin standard per WordPress è un file PHP indipendente o una directory che contiene più file; interagisce con il nucleo di WordPress attraverso una serie di interfacce predefinite. Il processo di sviluppo si concentra principalmente sulla comprensione dei meccanismi interni di WordPress.HooksIl sistema segue gli standard di codifica e le pratiche di sicurezza previste.
Crea il tuo primo plugin.
Prima di iniziare a scrivere il codice, hai bisogno di un ambiente di sviluppo locale. Si consiglia l’uso di XAMPP, MAMP o Local by Flywheel. Una volta che l’ambiente è pronto, puoi iniziare a lavorare.wp-content/pluginsHai creato il tuo primo plugin all’interno del directory.
Si consiglia di leggere Imparare a sviluppare plugin per WordPress da zero: guida completa e esercizi pratici。
Creare il file del plugin principale
Ogni plugin deve disporre di un file PHP principale, che deve contenere all’inizio delle note informative standard relative al plugin stesso. Questo file rappresenta l’ingresso principale per l’utilizzo del plugin e il suo nome corrisponde solitamente al nome della directory in cui è contenuto. Ad esempio, per creare un plugin chiamato…my-first-pluginIl contenuto del directory, e al suo interno viene creato un file con lo stesso nome.my-first-plugin.phpDocumenti.
Le note all’inizio di un file sono di fondamentale importanza: WordPress le utilizza per riconoscere le informazioni di base di un plugin.
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习插件开发的简单示例插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Dopo aver salvato il file, fai login al pannello di amministrazione di WordPress, vai alla pagina “Plugin” e vedrai che il nuovo plugin è apparso nell’elenco dei plugin disponibili; potrai quindi attivarlo. Al momento, non dispone di alcuna funzionalità.
Aggiungere la prima funzionalità
Ora, aggiungiamo una funzionalità semplice a questo plugin: aggiungere automaticamente un testo personalizzato alla fine del contenuto degli articoli. Per farlo, sarà necessario utilizzare le funzionalità disponibili in WordPress.the_contentFilter hook.
Nel file principale del plugin, aggiungi il seguente codice sotto le informazioni relative alle note (commenti).
Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: costruisci il tuo primo plugin funzionale da zero。
// 在文章内容后添加自定义文本
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 realizzato con il supporto di “Il mio primo plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
// 将函数挂载到‘the_content’过滤器
add_filter('the_content', 'myfp_add_footer_text'); Questo codice definisce una funzione.myfp_add_footer_textRiceve il contenuto dell’articolo.$contentCome parametro, all’interno della funzione vengono eseguite verifiche condizionali per garantire che l’operazione avvenga soltanto sulla pagina di un articolo specifico e all’interno del ciclo principale della query principale. Successivamente, viene inserito un testo HTML personalizzato. Infine, viene utilizzato…add_filter()La funzione permette di collegare (o “montare”) questa funzione personalizzata a WordPress.the_contentIl filtro è attivo. Dopo aver attivato l’estensione, visualizzando qualsiasi articolo, noterai il testo aggiunto in fondo al contenuto.
Approfondimento: Ganci e API
Il cuore dello sviluppo di plugin per WordPress risiede nella comprensione e nell’uso efficace del suo sistema di “Hook” (Ganci) nonché della sua ricca API. Questi elementi costituiscono il ponte per una comunicazione sicura e standardizzata tra i plugin e il core del sistema stesso.
Comprendere i meccanismi di interazione tra azioni (actions) e i “filter hooks”
Gli “hook” si dividono in due tipi principali: “Action” (Azioni) e “Filter” (Filtri). Gli hook di tipo “Action” ti permettono di “eseguire” codice personalizzato in momenti specifici. Ad esempio,wp_footerL’azione viene attivata prima dei tag in fondo alla pagina; puoi farlo tramite…add_action('wp_footer', 'your_function')Per inserire il codice di tracciamento o l’HTML personalizzato, segui questi passaggi:
Gli “hook” dei filtri ti permettono di “modificare” i dati: ricevono i dati, li elaborano attraverso la tua funzione e poi li restituiscono. L’esempio precedente relativo all’aggiunta di testo nel piede di pagina ne è un tipico utilizzo. Un altro esempio comune è…excerpt_lengthFiltro utilizzato per modificare la lunghezza dei riassunti degli articoli.
// 修改摘要长度为20个单词
function myfp_custom_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'myfp_custom_excerpt_length'); Utilizzare l’API del database di WordPress
I plugin hanno spesso bisogno di memorizzare e recuperare dati. WordPress offre gli strumenti necessari per farlo.wpdbPer interagire in modo sicuro con il database, si consiglia caldamente l’utilizzo dell’API “Options” per i dati semplici costituiti da coppie chiave-valore.
Ad esempio, per permettere agli utenti di personalizzare il testo del piede di pagina che abbiamo aggiunto in precedenza, possiamo creare un’opzione.
Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: dall'introduzione alla creazione di estensioni di livello professionale.。
// 1. 创建可配置的页脚文本
function myfp_add_footer_text_v2($content) {
if (is_single() && in_the_loop() && is_main_query()) {
// 从数据库获取选项值,如果不存在则使用默认值
$footer_text = get_option('myfp_footer_text', '感谢阅读!本文由“我的第一个插件”提供支持。');
$custom_text = '<p><em>'`. esc_html($footer_text)`.'</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'myfp_add_footer_text_v2'); Ora, il contenuto testuale può essere visualizzato tramite…get_option()La funzione legge i dati dal database. Successivamente, abbiamo bisogno di una pagina di gestione che permetta agli utenti di modificare questo valore.
Creare una pagina di gestione dei plugin
Per rendere il plugin più professionale ed easy da utilizzare, è necessario aggiungere una pagina di configurazione. Questo viene solitamente realizzato tramite l’API del menu di amministrazione di WordPress.
Aggiungere il menu di gestione e le pagine sottostanti.
Possiamo aggiungere un menu principale indipendente al plugin, oppure farlo apparire come un sottome menu all’interno dei menu “Impostazioni” o “Strumenti”. In questo caso, lo aggiungeremo al menu “Impostazioni”.
Prima di tutto, usaadd_action()Montare una funzione su…admin_menuAggiungi un elemento del menu all’interno di questa funzione.
// 添加管理菜单
function myfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 所需权限
'my-first-plugin', // 菜单slug
'myfp_options_page_html' // 用于渲染页面的回调函数
);
}
add_action('admin_menu', 'myfp_add_admin_menu'); add_options_page()La funzione creerà una sottopagina all’interno del menu “Impostazioni”. Quando l’utente clicca su questo menu, WordPress chiamerà la funzione di callback che abbiamo specificato.myfp_options_page_htmlEsegui l’output del contenuto della pagina.
Creare un modulo per la pagina delle impostazioni.
Successivamente, definiremo una funzione di callback per rendere un semplice modulo di configurazione. Questo modulo verrà inviato a…options.phpQuesto è il modo standard con cui WordPress gestisce le impostazioni.
// 渲染设置页面
function myfp_options_page_html() {
// 检查用户权限
if (!current_user_can('manage_options')) {
return;
}
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form action="/it/options.php/" method="post" data-trp-original-action="options.php">
<?php
// 输出必要的安全字段
settings_fields('myfp_settings');
// 输出设置章节和字段
do_settings_sections('my-first-plugin');
// 提交按钮
submit_button('保存设置');
?>
<input type="hidden" name="trp-form-language" value="it"/></form>
</div>
<?php
} Impostazioni di registrazione, sezioni e campi
Non basta avere solo un modulo: dobbiamo anche utilizzarlo.register_setting(), add_settings_section()和add_settings_field()Funzioni come queste servono per informare WordPress di quali opzioni di configurazione sono disponibili.
// 初始化插件设置
function myfp_settings_init() {
// 注册一个设置项‘myfp_settings’,它包含一个字段‘myfp_footer_text’
register_setting('myfp_settings', 'myfp_footer_text');
// 在页面‘my-first-plugin’上添加一个设置章节
add_settings_section(
'myfp_section',
'页脚文本设置',
null, // 章节描述回调函数,这里不需要
'my-first-plugin'
);
// 在上述章节中添加一个字段
add_settings_field(
'myfp_field_footer_text',
'自定义页脚文本',
'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
'my-first-plugin',
'myfp_section',
['label_for' => 'myfp_footer_text']
);
}
add_action('admin_init', 'myfp_settings_init');
// 渲染文本输入字段
function myfp_field_footer_text_html() {
// 获取数据库中保存的值
$value = get_option('myfp_footer_text');
?>
<input type="text" id="myfp_footer_text" name="myfp_footer_text" value="<?php echo esc_attr($value); ?>" class="regular-text">
<p class="description">Questo testo verrà visualizzato alla fine di ogni articolo.</p>
<?php
} Ora, aggiorna il backend di WordPress e vedrai l’opzione “Impostazioni dei miei plugin” nel menu “Impostazioni”. Entrando in questa pagina, potrai modificare e salvare il testo del piede di pagina personalizzato; di conseguenza, il contenuto degli articoli visualizzati sul frontend verrà aggiornato automaticamente.
Riassumendo
Questo guida ti accompagna lungo il percorso fondamentale dello sviluppo di plugin per WordPress: dalla creazione di un file di plugin di base che contiene le informazioni di intestazione standard, all’aggiunta di funzionalità a WordPress utilizzando azioni e hook, allo stoccaggio dei dati tramite l’API delle opzioni, fino alla creazione di un’interfaccia di amministrazione completa. L’intero processo riflette la filosofia di sviluppo modulare e basata su hook di WordPress. Una volta acquisite queste nozioni di base, potrai esplorare argomenti più avanzati come i tipi di articoli personalizzati, i codici brevi (shortcodes), l’integrazione con l’API REST, il trattamento degli eventi AJAX e l’internazionalizzazione dei plugin. Ricorda che una buona struttura del codice, un trattamento sicuro dei dati e un’interfaccia utente chiara sono fondamentali per creare plugin di qualità.
FAQ - Domande frequenti
Quali sono le conoscenze preliminari necessarie per sviluppare plugin?
È necessario possedere una conoscenza di base della lingua di programmazione PHP, inclusi concetti come variabili, funzioni, condizioni di controllo e cicli. Inoltre, è importante avere una conoscenza di base di HTML e CSS per gestire l’output e lo stile grafico del lato client. Essere familiari con le operazioni di base di MySQL può essere utile per comprendere il salvataggio dei dati, anche se l’API di WordPress ha già incapsulato la maggior parte delle interazioni con il database.
Come debuggare un plugin che si sta sviluppando?
Il metodo più efficace è attivare il modalità di debug di WordPress.wp-config.phpNel documento, verrà indicato che...WP_DEBUGUna costante è definita come un valore immutabile che non può essere modificato durante l’esecuzione del programma.trueQuesto farà apparire tutti gli errori, gli avvisi e le notifiche di PHP sullo schermo. Inoltre, è possibile utilizzare…error_log()La funzione scrive le informazioni di debug nel log di errore del server, oppure utilizza i pannelli “Console” e “Network” degli strumenti di sviluppo del browser per effettuare il debug del lato client.
Come possono i plugin implementare il supporto per più lingue?
WordPress utilizza i processi di “internazionalizzazione (i18n)” e “localizzazione (l10n)” per supportare più lingue. Nel codice dei plugin, tutte le stringhe di testo che devono essere tradotte devono essere contrassegnate in modo appropriato.__()或_e()Si devono incapsulare le funzioni di traduzione appropriate. Successivamente, utilizzare strumenti come Poedit per estrarre queste stringhe dal codice sorgente e generare il contenuto da tradurre..potI file di template vengono utilizzati per creare contenuti in diverse lingue.zh_CN.poInfine, dichiara il tuo dominio di testi all’interno della sezione “Text Domain” presente all’inizio del file principale del plugin, e utilizzalo durante l’inizializzazione.load_plugin_textdomain()Funzione di caricamento delle librerie (function loading).
Come pubblicare un plugin sviluppato nel catalogo ufficiale?
Prima di tutto, devi assicurarti che il tuo plugin segua rigorosamente gli standard di codifica ufficiali di WordPress, la politica sulla privacy e i requisiti di compatibilità con la licenza GPL. Successivamente, richiedi un repository SVN su WordPress.org. Invia il codice del tuo plugin (inclusi i file principali, i file di risorse e i file di traduzione) in questo repository SVN./trunkIndice: Le nuove versioni vengono pubblicate utilizzando i tag SVN. L’indice ufficiale viene sincronizzato automaticamente dal tuo repository SVN e, dopo una revisione manuale, viene visualizzato.
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.
- Guida allo sviluppo di plugin per WordPress: Crea il tuo primo plugin personalizzato da zero
- Diventare uno sviluppatore di plugin per WordPress: una guida completa da zero a uno
- Guida completa allo sviluppo di plugin per WordPress: dall’approccio iniziale alla padronanza per creare estensioni professionali
- Sviluppo di plugin per WordPress: dall’approccio iniziale alla maestria: crea il tuo primo plugin personalizzato
- Da zero a uno: La guida completa per sviluppare il tuo primo plugin per WordPress passo dopo passo