Preparativi e allestimento dell'ambiente.
Prima di iniziare a scrivere il codice, è necessario disporre di un ambiente di sviluppo adeguato. Questo include un’installazione locale di WordPress e un editor di codice. Si consiglia l’uso di strumenti come XAMPP, MAMP, Local by Flywheel o Laragon per configurare rapidamente un ambiente server locale. Assicurarsi che il proprio ambiente sia dotato di versioni recenti di PHP (consigliata 7.4 o successiva) e di MySQL/MariaDB.
Successivamente, è necessario comprendere la struttura di base di un plugin per WordPress. Il file più importante di un plugin è il file PHP principale; il suo nome e il nome della directory in cui è contenuto possono essere personalizzati, ma devono contenere un’annotazione specifica chiamata “header del plugin”, utilizzata per comunicare a WordPress l’esistenza del plugin stesso. Questo file si trova nella directory di installazione di WordPress. wp-content/plugins Crea una nuova cartella all’interno della cartella esistente, ad esempio… my-first-plugin。
All’interno di questa cartella, crea il tuo file principale del plugin, ad esempio chiamandolo “main_plugin.py”. my-first-plugin.phpAll’inizio di questo file devono essere presenti le note di informazione standard relative al plugin.
Si consiglia di leggere Guida introduttiva allo sviluppo di plugin per WordPress: crea la tua prima estensione di funzionalità personalizzata da zero.。
Crea il tuo primo file di plugin.
Ora, diamo il via alla creazione dello scheletro di base del plugin. Nel tuo directory dei plugin, apri il file PHP principale e inserisci le seguenti informazioni di intestazione standard per il plugin.
<?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
* Domain Path: /languages
*/ Questo commento è fondamentale per che WordPress riconosca i plugin. In esso…Plugin Name Questo campo è obbligatorio; tutti gli altri sono opzionali. Dopo aver salvato il file, potrai trovare il nuovo plugin nella pagina “Plugin” del pannello di amministrazione di WordPress e attivarlo. Al momento, il plugin non dispone di alcuna funzionalità.
Aggiungere una funzionalità semplice al plugin.
Una delle funzionalità più semplici da implementare è l’aggiunta di un menu di gestione personalizzabile nell’interfaccia di amministrazione del sito web. Per farlo, utilizzeremo… add_action La funzione viene montata su admin_menu Questo elemento è collegato a un “gancio di azione” (action hook).
Nel file principale del plugin, dopo il blocco di commenti, aggiungi il seguente codice:
// 在管理菜单中添加一个顶级菜单
function mfp_add_admin_menu() {
add_menu_page(
'我的第一个插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限要求
'my-first-plugin', // 菜单 slug
'mfp_settings_page', // 回调函数,用于输出页面内容
'dashicons-admin-generic', // 图标(可选)
6 // 菜单位置(可选)
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 定义设置页面的回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<p>Benvenuti sulla pagina di configurazione del mio primo plugin!</p>
<form method="post" action="/it/options.php/" data-trp-original-action="options.php">
<?php
// 后续可以在这里添加设置字段
?>
<p class="submit">
<input type="submit" name="submit" id="submit" class="button button-primary" value="Salva i cambiamenti.">
</p>
<input type="hidden" name="trp-form-language" value="it"/></form>
</div>
<?php
} Questo codice crea un nuovo menu principale chiamato “I miei plugin”; facendo clic su di esso si accede a una semplice pagina di configurazione. add_menu_page È stata creata una funzione per registrare il menu, nonché una funzione di callback. mfp_settings_page Per rendere il contenuto della pagina.
Si consiglia di leggere Guida introduttiva allo sviluppo di plugin per WordPress: crea il tuo primo plugin funzionale da zero.。
Estendere le funzionalità utilizzando ganci (hooks) e filtri (filters).
Il punto di forza principale di WordPress risiede nella sua architettura basata su plugin, che viene realizzata principalmente attraverso gli “action hooks” (ganci per azioni) e i “filter hooks” (ganci per filtri). Gli action hooks ti permettono di eseguire codice personalizzato in momenti specifici, mentre i filter hooks ti consentono di modificare i dati.
Utilizzare gli “action hooks” per aggiungere delle note a piè di pagina.
Supponiamo di voler aggiungere automaticamente un testo personalizzato alla fine di tutti gli articoli sul sito web. Questo può essere realizzato tramite l’implementazione di un meccanismo di “montaggio” (mounting) del testo desiderato all’interno del codice del sito. the_content 这个过滤器钩子来实现。注意,虽然名字是“过滤器”,但 the_content Solitamente utilizzato per modificare il contenuto visualizzato negli articoli.
// 在文章内容末尾添加自定义文本
function mfp_append_text_to_content($content) {
// 确保只在主循环的单篇文章页面添加
if (is_single() && in_the_loop() && is_main_query()) {
$custom_text = '<p><em>Questo articolo è presentato per voi da “Il mio primo plugin”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter('the_content', 'mfp_append_text_to_content'); Questa funzione mfp_append_text_to_content Ricevere il contenuto originale dell’articolo. $contentDopo aver verificato le condizioni di contesto (assicurandosi che si tratti di una pagina di articolo individuale), si aggiunge un testo personalizzato alla fine del contenuto e, infine, si restituisce il contenuto modificato. add_filter Registrarlo… the_content Gancio.
Creare opzioni di plugin configurabili
Un plugin pratico di solito richiede alcune opzioni che possono essere configurate dall’utente. WordPress offre un API per la configurazione che permette di gestire e manipolare queste opzioni in modo sicuro. Aggiungeremo un semplice campo di testo alla pagina di configurazione esistente.
Innanzitutto, dobbiamo registrare una nuova configurazione e aggiungerla alle pagine del menu esistenti.
// 初始化插件设置
function mfp_settings_init() {
// 注册一个新的设置到 “reading” 组(或自定义组)
register_setting('mfp_plugin_settings', 'mfp_custom_message');
// 在现有页面内添加一个设置区域
add_settings_section(
'mfp_section_id',
'自定义消息设置',
'mfp_section_callback',
'my-first-plugin'
);
// 向该区域添加一个字段
add_settings_field(
'mfp_field_id',
'页脚消息',
'mfp_field_callback',
'my-first-plugin',
'mfp_section_id'
);
}
add_action('admin_init', 'mfp_settings_init');
// 区域描述回调函数
function mfp_section_callback() {
echo '<p>Qui è possibile configurare il messaggio che verrà visualizzato alla fine dell’articolo tramite il plugin.</p>';
}
// 字段输出回调函数
function mfp_field_callback() {
// 从数据库中获取已保存的选项值
$message = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
echo '<input type="text" name="mfp_custom_message" value="' . esc_attr($message) . '" class="regular-text">';
echo '<p class="description">Inserisci il messaggio che desideri visualizzare alla fine di ogni articolo.</p>';
} Poi, è necessario modificare quanto definito in precedenza. mfp_settings_page Funzione per visualizzare i campi impostati all’interno di un modulo.
Si consiglia di leggere Dall’approccio iniziale all’abilità avanzata: Guida completa e tutorial pratico per lo sviluppo di plugin per WordPress。
// 更新后的设置页面回调函数
function mfp_settings_page() {
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form method="post" action="/it/options.php/" data-trp-original-action="options.php">
<?php
// 输出设置字段、安全随机数和设置组
settings_fields('mfp_plugin_settings');
do_settings_sections('my-first-plugin');
submit_button();
?>
<input type="hidden" name="trp-form-language" value="it"/></form>
</div>
<?php
} Infine, aggiorniamo la funzione che aggiungeva il testo in precedenza, in modo che utilizzi opzioni configurabili.
function mfp_append_text_to_content($content) {
if (is_single() && in_the_loop() && is_main_query()) {
// 从选项中获取自定义消息,如果不存在则使用默认值
$custom_text = get_option('mfp_custom_message', '本文由“我的第一个插件”为您呈现。');
if (!empty($custom_text)) {
$content .= '<p><em>'. wp_kses_post($custom_text)'.'</em></p>';
}
}
return $content;
} Internazionalizzazione dei plugin e preparazione alla pubblicazione
Per permettere agli utenti di tutto il mondo di utilizzare il plugin, l’internazionalizzazione rappresenta un passo fondamentale. Questo processo prevede l’utilizzo di campi di testo e funzioni di traduzione per incapsulare tutte le stringhe visibili agli utenti.
Utilizzare la funzione di traduzione per incapsulare il testo.
Devi convertire tutte le stringhe che vengono visualizzate all’interno del plugin in… (il testo non specifica esattamente in cosa devono essere convertite). echo Il testo restituito da “o `” deve essere avvolto in una funzione di traduzione specifica. La più comune di queste funzioni è… () Utilizzato per tradurre e restituire stringhe, nonché… esc_html__() Utilizzato per tradurre e escapare il codice HTML.
Modifica l’esempio di codice precedente:
// 在管理菜单中添加一个顶级菜单(国际化版本)
function mfp_add_admin_menu() {
add_menu_page(
__('我的第一个插件设置', 'my-first-plugin'), // 页面标题
__('我的插件', 'my-first-plugin'), // 菜单标题
'manage_options',
'my-first-plugin',
'mfp_settings_page',
'dashicons-admin-generic',
6
);
}
add_action('admin_menu', 'mfp_add_admin_menu');
// 区域描述回调函数(国际化版本)
function mfp_section_callback() {
echo '<p>' . esc_html__('在这里配置插件在文章末尾显示的消息。', 'my-first-plugin') . '</p>';
} Allo stesso tempo, è necessario caricare i campi di testo. Dopo il blocco di commenti del file principale del plugin, aggiungere il codice per caricare i file di traduzione:
// 加载插件文本域
function mfp_load_textdomain() {
load_plugin_textdomain('my-first-plugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('plugins_loaded', 'mfp_load_textdomain'); Preparare il pacchetto compresso del plugin.
Prima di pubblicare o condividere un plugin, è necessario creare un pacchetto di distribuzione pulito. Assicurarsi che il directory del plugin contenga tutti i file necessari e eliminare eventuali file non essenziali. .git Cartelle, file di log o file di configurazione dell’IDE, insomma, contenuti non rilevanti. Di solito, un pacchetto di distribuzione di un plugin minimale dovrebbe contenere:
1. 主插件 PHP 文件。
2. 一个可选的 readme.txt Il file segue gli standard di formattazione di WordPress.org ed è destinato ad essere visualizzato nel catalogo dei plugin.
3. 一个包含翻译文件的 /languages Cartella (se esiste).
4. 其他必需的 JavaScript、CSS 或图片资源文件夹。
Comprimi l’intero folder del plugin in un file ZIP; questo file potrà essere installato tramite la funzione “Carica plugin” presente nell’interfaccia di amministrazione di WordPress, oppure potrà essere inviato al catalogo ufficiale di plugin di WordPress.
Riassumendo
Attraverso questa guida, abbiamo completato il processo fondamentale dello sviluppo di plugin per WordPress: dalla preparazione dell’ambiente, alla creazione del file principale che include l’intestazione standard del plugin, all’aggiunta di funzionalità utilizzando gli “action” e gli “filter hook”, fino alla creazione di pagine di configurazione personalizzabili tramite l’API di configurazione. Infine, abbiamo introdotto le nozioni di base sull’internazionalizzazione. Questo rappresenta una base solida per lo sviluppo di plugin più complessi e utili. Ricorda che una buona struttura del codice, il rispetto degli standard di codifica di WordPress e una comprensione approfondita del suo sistema di hook sono fondamentali per diventare un ottimo sviluppatore di plugin.
FAQ - Domande frequenti
开发 WordPress 插件需要什么编程基础?
È necessario possedere una conoscenza di base della programmazione in PHP, poiché il nucleo di WordPress e i suoi plugin sono scritti principalmente in PHP. Inoltre, avere una conoscenza di base di HTML, CSS e JavaScript sarà molto utile, soprattutto quando si desidera personalizzare le interfacce di gestione o gli aspetti interattivi del sito web. È essenziale anche comprendere i concetti fondamentali di WordPress, come articoli, pagine, categorie e “hook” (meccanismi di integrazione tra moduli).
Come deve chiamarsi il file principale del plugin?
Non esistono requisiti obbligatori. Il file principale può avere qualsiasi nome valido per un file PHP, tuttavia si consiglia di utilizzare un nome che corrisponda al nome della directory del plugin. Ad esempio, se il nome della directory è… my-super-pluginQuindi, il file principale può essere chiamato… my-super-plugin.phpLa chiave sta nelle note relative ai plugin presenti in cima al file: WordPress utilizza queste note per… Plugin Name: Per identificare i plugin…
Come devo debuggare il codice del mio plugin?
Esistono diversi metodi per debuggare i plugin. Prima di tutto, assicurati che il plugin sia correttamente installato e configurato nel tuo sistema. wp-config.php Attiva il modalità di debug di WordPress nel file. WP_DEBUG La costante è impostata su trueQuesto mostrerà sugli schermi gli errori, gli avvisi e le notifiche di PHP. Inoltre, è possibile utilizzare… error_log() La funzione scrive le informazioni di debug nel log di errore del server, oppure utilizza strumenti di debug più avanzati, come il plugin Query Monitor, che fornisce dettagli su query al database, hook, errori PHP e altro ancora.
Come posso pubblicare il plugin che ho sviluppato nel catalogo ufficiale di WordPress?
Per pubblicare un plugin nel catalogo ufficiale di WordPress.org, è necessario prima registrare un account su WordPress.org e successivamente inviare il proprio plugin per la revisione. Il codice del plugin deve essere conforme alla licenza GNU GPL e deve contenere un file di descrizione del plugin con un formato corretto. readme.txt I file vengono esaminati dal team di revisione, che verifica la qualità del codice, la sua sicurezza e il rispetto delle linee guida relative alla struttura dei directory. Una volta superata la revisione, riceverai un repository SVN, utilizzabile per gestire e aggiornare le versioni del tuo plugin.
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.
- Come scegliere e personalizzare il tema WordPress perfetto per te?
- 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
- Dallo zero all’uno: Una guida completa e pratica per costruire siti web professionali con WordPress
- Guida completa allo sviluppo di plugin per WordPress: dall’approccio iniziale alla padronanza per creare estensioni professionali