Per sviluppare un plugin per WordPress, è necessario prima comprendere la sua struttura di base. Un plugin è essenzialmente uno o più file PHP che seguono specifiche specifiche di WordPress e interagiscono con il core del sito tramite il sistema dei “hook” (Ganci), al fine di estendere o modificare le funzionalità del sito web. Per sviluppare un plugin, è necessario disporre almeno di un file principale che contenga le note di intestazione standard per i plugin; queste note sono fondamentali affinché WordPress possa riconoscere il plugin stesso.
Crea il tuo primo plugin.
Iniziamo creando il plugin più semplice possibile, il “Hello World”. Questo processo ti aiuterà a familiarizzare con la struttura dei plugin, nonché con i procedimenti per attivarli e disattivarli.
Creare il file principale del plugin
Prima di tutto, all’interno della directory di installazione di WordPress…wp-content/pluginsAll’interno della cartella, creare una nuova cartella, ad esempio…my-first-pluginAll’interno di quella cartella, creare un file chiamato…my-first-plugin.phpIl file PHP principale di un progetto web si trova solitamente nella stessa cartella in cui sono archiviati tutti i file relativi al progetto. Il nome di questo file corrisponde generalmente al nome della cartella stessa.
Si consiglia di leggere Guida definitiva allo sviluppo di plugin per WordPress: costruisci il tuo primo plugin da zero。
Apriremy-first-plugin.phpFile: Inserite le seguenti informazioni relative alla parte iniziale del plugin standard.
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单Hello World插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/ Questo commento è di fondamentale importanza: WordPress lo utilizza per effettuare scansioni…wp-content/pluginse di tutti i file PHP presenti nei suoi sottodirettori.Plugin Name:Il sistema riconosce i plugin e li visualizza sulla pagina di gestione dei plugin presente in background.
Implementare le funzionalità di base e attivare i “hook” (meccanismi di interazione).
Successivamente, aggiungeremo una funzionalità semplice al plugin: far apparire una riga di testo personalizzato nella parte inferiore della pagina del sito web. Inoltre, utilizzeremo gli “hook” del ciclo di vita di WordPress per dimostrare quali operazioni possono essere eseguite quando il plugin viene attivato o disattivato.
Sotto i commenti nella parte iniziale del codice, continua ad aggiungere il seguente codice:
// 定义一个函数,在页脚输出信息
function my_first_plugin_display_footer_text() {
echo '<p style="text-align: center;">Benvenuti nell’utilizzo del mio primo plugin per WordPress!</p>';
}
// 使用 ‘wp_footer’ 动作钩子挂载我们的函数
add_action( 'wp_footer', 'my_first_plugin_display_footer_text' );
// 插件激活时执行的操作
function my_first_plugin_activate() {
// 可能在这里创建数据库表、设置默认选项等
update_option( 'my_first_plugin_installed', current_time( 'mysql' ) );
}
register_activation_hook( __FILE__, 'my_first_plugin_activate' );
// 插件停用时执行的操作
function my_first_plugin_deactivate() {
// 清理临时数据,但保留可能由用户创建的数据
delete_option( 'my_first_plugin_installed' );
}
register_deactivation_hook( __FILE__, 'my_first_plugin_deactivate' ); Ora, fai login al pannello di amministrazione di WordPress e vai alla pagina “Plugin”. Dovresti vedere un plugin chiamato “Il mio primo plugin”. Fai clic su “Attiva” (Enable), quindi visita la pagina frontale del sito web e scorri verso il basso: dovresti vedere il testo personalizzato che hai aggiunto. Questo semplice esempio mostra il processo di base per creare e utilizzare un plugin.
Si consiglia di leggere Guida completa allo sviluppo di plugin per WordPress: costruisci il tuo primo plugin da zero。
Comprendere a fondo il sistema di hook di WordPress
Gli “hook” rappresentano la base fondamentale nello sviluppo di plugin per WordPress. Consentono di inserire il proprio codice in punti specifici dell’esecuzione del codice di base del sistema, senza la necessità di modificare i file principali di WordPress. Gli hook si dividono principalmente in due tipi: “Action” e “Filter”.
L’utilizzo dei “action hooks”
Gli action hook vengono eseguiti quando si verifica un evento specifico, ad esempio la pubblicazione di un articolo o il caricamento della parte superiore o inferiore di una pagina. Non è previsto che restituiscono alcun valore; il loro compito è semplicemente quello di eseguire un determinato frammento di codice. Li abbiamo già utilizzati nel primo plugin.wp_footerQuesto “action hook”.
Un altro esempio comune è…initIl “hook” viene attivato durante l’inizializzazione di WordPress e viene spesso utilizzato per registrare tipi di articoli o categorie personalizzati.
function my_plugin_custom_init() {
// 在这里注册自定义文章类型
}
add_action( 'init', 'my_plugin_custom_init' ); Gli action hook funzionano attraverso…add_action( $hook_name, $function_to_add, $priority, $accepted_args )Funzione di montaggio.
L’utilizzo dei “filter hooks”
I “filter hooks” servono per modificare i dati. Vi vengono inviati prima che vengano utilizzati (ad esempio, salvati in un database o visualizzati in un browser); dopo averli elaborati, è possibile restituire i valori modificati.the_contentI filtri ti permettono di modificare il contenuto degli articoli.
function my_plugin_add_disclaimer_to_content( $content ) {
if ( is_single() ) {
$disclaimer = '<p><em>Questo articolo è stato elaborato dal mio plugin.</em></p>';
$content .= $disclaimer;
}
return $content; // 必须返回修改后的内容
}
add_filter( 'the_content', 'my_plugin_add_disclaimer_to_content' ); I filtri “hook” funzionano correttamente.add_filter( $hook_name, $function_to_add, $priority, $accepted_args )Funzione di montaggio: Priorità$priorityDetermina l’ordine di esecuzione di più funzioni quando vengono montate nello stesso “hook”; più il numero è piccolo, maggiore è la priorità.
Si consiglia di leggere Una guida introduttiva allo sviluppo di plugin per WordPress: crea il tuo primo plugin funzionale da zero.。
Best Practices per l’Architettura dei Plugin e la Sicurezza
Con l’aumentare della complessità delle funzionalità dei plugin, un’architettura solida e misure di sicurezza rigorose sono fondamentali per garantire che i plugin siano stabili, facilmente mantenibili e sicuri.
Adottare la programmazione orientata agli oggetti
对于功能丰富的插件,建议使用类(Class)来组织代码。这有助于封装功能,避免函数名冲突,并使代码结构更清晰。
<?php
/**
* Plugin Name: 高级示例插件
*/
if ( ! class_exists( 'Advanced_Sample_Plugin' ) ) {
class Advanced_Sample_Plugin {
public function __construct() {
// 在构造函数中挂载钩子
add_action( 'wp_footer', array( $this, 'display_message' ) );
add_filter( 'the_title', array( $this, 'modify_title' ) );
}
public function display_message() {
echo '<p>Messaggio proveniente dalla categoria dei plugin avanzati.</p>';
}
public function modify_title( $title ) {
return '前缀 - ' . $title;
}
}
// 初始化插件类
new Advanced_Sample_Plugin();
} Attuare misure di protezione della sicurezza
La sicurezza degli plugin per WordPress è di fondamentale importanza. Il principio fondamentale da seguire è: non fidarsi mai degli input forniti dagli utenti. Tutti i dati provenienti dagli utenti devono essere verificati e trattati con attenzione, al fine di prevenire potenziali attacchi o problemi di sicurezza.$_GET,$_POST,$_COOKIEI dati ottenuti da variabili sovraglobali devono essere verificati, puliti e escapati.
1. Verifica: Controllare se i dati sono nella forma prevista (ad esempio, se si tratta di un indirizzo email o di un numero). Utilizzare…sanitize_email(),is_email()e altre funzioni.
2. Pulizia: Rimuovere i caratteri illegali o non sicuri dai dati. Per gli input di testo, utilizzare…sanitize_text_field()Per i contenuti che consentono l’uso di HTML, utilizzare…wp_kses_post()或wp_kses()。
3. Evasione: Quando si esportano dati in HTML, JavaScript o URL, assicurarsi che siano codificati in modo sicuro. Utilizzare i metodi appropriati per evitare che vengano interpretati in modo errato o che possano essere utilizzati per attacchi informatici.esc_html(),esc_js(),esc_url()e altre funzioni.
Ad esempio, per gestire un attributo a codice breve:
function my_shortcode_handler( $atts ) {
// 使用 shortcode_atts 设置默认值并提取属性
$atts = shortcode_atts( array(
'url' => '#',
), $atts, 'my_shortcode' );
// 清理并转义 URL 属性
$clean_url = esc_url( $atts['url'] );
return "<a href='/it/{$clean_url}/'>Link sicuro</a>");
}
add_shortcode( 'my_shortcode', 'my_shortcode_handler' ); Aggiungere un’interfaccia di gestione e funzionalità di internazionalizzazione al plugin.
Un plugin maturo di solito richiede opzioni di configurazione e dovrebbe prevedere il supporto per più lingue.
Creare la pagina per la gestione delle impostazioni
Utilizzare l’API Settings di WordPress per creare pagine di gestione sicure e standardizzate rappresenta il metodo consigliato. Questo approccio ti aiuta a gestire aspetti legati alla sicurezza (come la verifica dei “nonce”) nonché a garantire l’omogeneità dell’interfaccia utente dei moduli (form).
Ecco un esempio semplificato per l’aggiunta di un menu principale e di una pagina di configurazione:
class My_Plugin_Admin {
public function __construct() {
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
add_action( 'admin_init', array( $this, 'settings_init' ) );
}
public function add_admin_menu() {
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限
'my-plugin', // 菜单slug
array( $this, 'options_page_html' ) // 回调函数,输出页面内容
);
}
public function settings_init() {
register_setting( 'my_plugin_settings', 'my_plugin_options' ); // 注册设置
// 添加设置区域和字段
add_settings_section( 'my_plugin_section', '主要设置', null, 'my-plugin' );
add_settings_field( 'api_key', 'API密钥', array( $this, 'api_key_field_html' ), 'my-plugin', 'my_plugin_section' );
}
public function api_key_field_html() {
$options = get_option( 'my_plugin_options' );
?>
<input type='text' name='my_plugin_options[api_key]' value='<?php echo esc_attr( $options['api_key'] ?? '' ); ?>'>
<?php
}
public function 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( 'my_plugin_settings' );
do_settings_sections( 'my-plugin' );
submit_button();
?>
<input type="hidden" name="trp-form-language" value="it"/></form>
</div>
<?php
}
}
new My_Plugin_Admin(); Realizzare l'internazionalizzazione del plug-in.
Per permettere agli utenti di tutto il mondo di utilizzare il plugin, è necessario supportare più lingue. Ciò viene realizzato utilizzando…__( ‘Text’, ’text-domain’ )和_e( ‘Text’, ’text-domain’ )Tutti i testi visibili agli utenti vengono incapsulati all’interno delle funzioni di traduzione. Questo è stato definito nelle tue note iniziali all’interno del plugin.Text Domain: my-first-pluginÈ proprio per questo che è stato preparato.
1. Nel codice, utilizzare la funzione di traduzione per tutte le stringhe che necessitano di essere tradotte.
echo __( ‘欢迎使用我的插件!’, ‘my-first-plugin’ );
$title = esc_html__( ‘设置页面’, ‘my-first-plugin’ ); 2. Utilizzando strumenti come Poedit, si possono esaminare le stringhe di traduzione presenti nel codice del plugin e generare i file necessari per la traduzione..potFile di template: i traduttori utilizzano questi file per creare le versioni del testo in ciascuna lingua richiesta..poE quello compilato….moFile (come…)zh_CN.po/mo)。
3. Posizionare questi file di lingua all’interno del plugin.languagesNel folder contenente i file di traduzione, WordPress caricherà automaticamente le traduzioni corrispondenti in base alle impostazioni della lingua del sito.
Riassumendo
Lo sviluppo di plugin per WordPress è un processo che parte da semplici script per arrivare a applicazioni più complesse. L’elemento fondamentale è comprendere e utilizzare al meglio il sistema di “hook” (ganci), integrando le proprie funzionalità in modo fluido nel ciclo di vita di WordPress attraverso azioni (actions) e filtri (filters). Seguire i principi dell’architettura orientata agli oggetti (Object-Oriented Architecture, OOA) permette di migliorare l’organizzazione e la manutenibilità del codice. La sicurezza rappresenta una base essenziale nello sviluppo: è necessario verificare, pulire qualsiasi input fornito dall’utente e escapare i dati in modo appropriato prima di visualizzarli. Infine, è possibile creare un’interfaccia di back-end professionale utilizzando l’API Settings e sfruttare le funzionalità di internazionalizzazione per rendere il proprio plugin disponibile a un pubblico più ampio. Tutto questo parte dalla creazione di un plugin semplice…my-first-plugin.phpIniziando a mettere in pratica gradualmente questi concetti, sarai in grado di sviluppare plugin per WordPress potenti, sicuri e apprezzati dagli utenti.
FAQ - Domande frequenti
Quali conoscenze di base sono necessarie per sviluppare un plugin WordPress?
È necessario padroneggiare il linguaggio di programmazione PHP, poiché i plugin sono principalmente scritti in PHP. Inoltre, è fondamentale avere una conoscenza di base di HTML, CSS e JavaScript per creare interfacce utente e funzionalità interattive. La cosa più importante è comprendere il funzionamento di base di WordPress, come i temi, gli “hook” (meccanismi di integrazione), i cicli di esecuzione e i metodi di archiviazione dei dati.
Posso testare il plugin localmente senza influenzare il sito web online?
Certo che si può, e inoltre si consiglia vivamente di farlo. Dovresti sviluppare i plugin nell’ambiente di sviluppo locale (utilizzando strumenti come XAMPP, MAMP, Local by Flywheel, ecc.) o su un server di test separato. Questo permetterà di evitare problemi come il malfunzionamento del sito web online o la perdita di dati a causa di errori nel codice.
Come devo debuggare il codice del mio plugin?
WordPress offre diversi strumenti per il debug. Innanzitutto,wp-config.phpAttivare il modalità di debug nel file: definizioneWP_DEBUGLa costante ètrueQuesto mostrerà direttamente sugli schermi gli errori, gli avvisi e le notifiche di PHP. Per un debug più avanzato, è possibile utilizzare…error_log()La funzione scrive le informazioni nel log di errori del server, oppure utilizza plugin di debug specializzati come Query Monitor, che forniscono dettagli su query al database, hook, errori di PHP e altro ancora.
Dopo aver completato lo sviluppo del plugin, come posso inviarlo al catalogo ufficiale di WordPress?
Devi accedere a WordPress.org e creare un account. Successivamente, utilizzando lo strumento Subversion (SVN), devi inviare il codice del tuo plugin nel repository SVN fornito da WordPress. Prima di effettuare l’invio, assicurati che il codice del plugin rispetti gli standard e le linee guida ufficiali per lo sviluppo di plugin, inclusi aspetti legati alla sicurezza, alla qualità del codice, alla documentazione e all’internazionalizzazione. Dopo l’approvazione, il tuo plugin apparirà nel catalogo ufficiale di WordPress, dove gli utenti potranno scaricarlo e installarlo.
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.
- Prefazione: Perché scegliere WordPress per lo sviluppo?
- Perché scegliere WooCommerce come soluzione per il tuo e-commerce?
- Guida completa per WooCommerce: Costruire il tuo negozio online e pianificare la tua strategia di vendite da zero
- 10 plugin essenziali per WordPress per migliorare in modo significativo le prestazioni e la sicurezza del sito web
- WooCommerce: La guida definitiva: Costruisci il tuo sito di e-commerce WordPress da zero