Préparation de l'environnement de développement pour les plugins WordPress
Avant de commencer à écrire du code, il est essentiel de disposer d’un environnement de développement stable et isolé. Cela permet non seulement de protéger votre site en production, mais aussi de tester et de déboguer vos projets en toute liberté. La méthode la plus recommandée est d’utiliser un environnement de développement local, tel que Local by Flywheel, XAMPP ou MAMP. Ces outils permettent d’installer en un clic les composants nécessaires à WordPress sur votre ordinateur (PHP, MySQL et serveur web).
Ensuite, vous devez activer le mode de débogage dans votre installation locale de WordPress. Cela vous aidera à détecter rapidement les erreurs pendant le processus de développement. Ouvrez le répertoire racine de WordPress. wp-config.php Faites des recherches dans les fichiers ou ajoutez les définitions des constantes suivantes :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false ); Après cette configuration, toutes les informations d'erreur et d'avertissement seront enregistrées. /wp-content/debug.log Ce contenu se trouve dans un fichier, et n’est pas affiché directement sur la page, de sorte qu’il n’affecte pas l’expérience utilisateur de l’application front-end.
Lectures recommandées Guide d’introduction au développement de plugins WordPress : créez votre premier plugin personnalisé à partir de zéro.。
Enfin, vous aurez besoin d’un éditeur de code. Visual Studio Code, PhpStorm ou Sublime Text sont de très bonnes options, car ils offrent une mise en évidence syntaxique efficace et des suggestions de code avancées pour le développement en PHP et avec WordPress. Assurez-vous que votre éditeur permet un accès facile aux fichiers de votre projet sur votre serveur local.
Créez votre premier plugin.
Un plugin WordPress est essentiellement un ou plusieurs fichiers qui se trouvent dans le répertoire des plugins de votre site web. wp-content/plugins Les fichiers PHP situés dans le répertoire. Chaque plugin doit disposer d’un fichier principal, et la tête de ce fichier doit contenir des commentaires contenant les informations standard relatives au plugin, afin que WordPress puisse le reconnaître.
Écrire les informations d'en-tête du plug-in.
Dans le vôtre wp-content/plugins Dans le répertoire, créez un nouveau dossier, par exemple… my-first-pluginDans ce dossier, créez le fichier principal. my-first-plugin.phpLe début du fichier doit contenir une annotation dans le format suivant :
<?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
*/ Dans cette note, “ Plugin Name ” est une information obligatoire, tandis que les autres éléments sont facultatifs. WordPress lit ces données et les affiche sur la page de gestion des plugins en arrière-plan.
Réaliser une fonction simple
Maintenant, ajoutons la première fonction réelle à ce plugin : l'ajout automatique d'un texte personnalisé à la fin du contenu de l'article. Nous allons utiliser… the_content Ce crochet de filtre (Filter Hook).
Lectures recommandées Découvrez WordPress, du niveau débutant au niveau expert : partage d’expériences pratiques et de techniques clés.。
En dessous des commentaires en tête, ajoutez le code suivant :
function myfp_add_text_to_content( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$custom_text = '<p><em>Merci d’avoir lu cet article, qui vous est présenté par “ Mon premier plugin ”.</em></p>';
$content .= $custom_text;
}
return $content;
}
add_filter( 'the_content', 'myfp_add_text_to_content' ); Après avoir enregistré le fichier, accédez à la page des “ Plugins ” dans l’administration de WordPress. Vous devriez y voir “ Mon premier plugin ”. Activez-le, puis consultez un article sur votre site ; vous remarquerez que le texte que nous avons défini a été ajouté à la fin de l’article. Dans ce code…myfp_add_text_to_content C’est une fonction que nous avons définie nous-mêmes.add_filter() Montez-le sur… the_content Sur le crochet. Les conditions définies à l’intérieur de la fonction assurent que ce texte n’est affiché que dans le cycle principal de la page principale de l’article, sur la partie frontale du site.
Comprendre le mécanisme de base des plugins WordPress.
La pierre angulaire de la puissance et de la flexibilité des plugins WordPress est son mécanisme de « hooks » (crochets). Les hooks vous permettent d’insérer votre propre code à des points spécifiques de l’exécution du code de base de WordPress, afin de modifier ou d’améliorer son comportement par défaut. Les hooks se divisent principalement en deux types : les hooks d’action (Action Hooks) et les hooks de filtre (Filter Hooks).
Action hooks et filter hooks
Les « hooks d’action » (Action Hooks) vous permettent d’exécuter du code personnalisé lorsque un événement spécifique se produit, par exemple après la publication d’un article ou lors du chargement d’une page de gestion. Ils n’exigent pas de retour de valeur. add_action() Il s’agit de fonctions permettant d’effectuer des actions de montage (c’est-à-dire d’associer des éléments à des endroits spécifiques du système). Par exemple, une action peut être exécutée lorsque le plugin est activé.
function myfp_plugin_activation_task() {
// 创建数据库表、初始化选项等
update_option( 'myfp_plugin_installed', '2026-01-01' );
}
register_activation_hook( __FILE__, 'myfp_plugin_activation_task' ); Il est utilisé ici. register_activation_hookIl s’agit d’un crochet d’action spécial, conçu exclusivement pour l’activation des plugins.
Les « hooks de filtre » (Filter) vous permettent de modifier les données qui leur sont transmises. Ils exigent que la fonction reçoive une valeur et qu’elle retourne une valeur modifiée. L’exemple que nous avons vu précédemment, où nous modifiions le contenu d’un article, en est un exemple typique. Un autre exemple concerne la modification de la longueur des extraits d’un article.
Lectures recommandées Maîtriser le développement de plugins WordPress : un guide pratique complet de zéro à un。
function myfp_custom_excerpt_length( $length ) {
return 20; // 将摘录长度改为20个单词
}
add_filter( 'excerpt_length', 'myfp_custom_excerpt_length' ); Utiliser des codes courts pour ajouter du contenu dynamique
Outre les « hooks », les codes courts (shortcodes) constituent un autre outil puissant permettant à les plugins d’interagir avec le contenu. Ils permettent aux utilisateurs d’insérer une simple balise dans un article ou une page pour… [my_shortcode]) pour appeler le contenu complexe généré par le plugin.
Créer un court code est très simple ; il suffit d’utiliser… add_shortcode() Fonctions. Par exemple, voici un court code pour afficher l'heure actuelle :
function myfp_current_time_shortcode( $atts ) {
$atts = shortcode_atts( array(
'format' => 'Y-m-d H:i:s',
), $atts, 'current_time' );
return date( $atts['format'] );
}
add_shortcode( 'current_time', 'myfp_current_time_shortcode' ); Les utilisateurs peuvent saisir des données dans l’éditeur. [current_time format="H:i"] Affichez uniquement l'heure et les minutes.
Ajouter une page de gestion pour le plugin.
De nombreux plugins nécessitent la fourniture d’options de configuration, ce qui se fait généralement à travers la page de menu de gestion du back-office de WordPress. WordPress propose une série de fonctions permettant d’ajouter des éléments de menu principaux ou secondaires.
Créer une page de paramètres pour le plug-in.
Nous allons ajouter une page de configuration simple pour le plugin, permettant de gérer le contenu textuel qui a été précédemment ajouté à la fin des articles. Pour commencer, utilisons… add_menu_page() Ou add_options_page() Une fonction est utilisée pour enregistrer une page. Généralement, les plugins simples ajoutent la page dans le sous-menu “ Paramètres ”.
Ajoutez le code suivant au fichier principal du plugin :
function myfp_add_admin_menu() {
add_options_page(
'我的第一个插件设置', // 页面标题
'我的插件设置', // 菜单标题
'manage_options', // 所需权限
'myfp-settings', // 菜单slug
'myfp_settings_page_html' // 用于输出页面内容的回调函数
);
}
add_action( 'admin_menu', 'myfp_add_admin_menu' ); Ce code indique à WordPress qu’au moment de la création du menu d’administration,admin_menu Action) et l'exécution. myfp_add_admin_menu Une fonction est utilisée pour ajouter une page.
Construire un formulaire pour la page de paramétrage
Ensuite, nous devons définir… myfp_settings_page_html La fonction génère le contenu HTML de la page et gère l’enregistrement des formulaires. Afin de stocker les paramètres de manière sécurisée, nous utilisons les fonctionnalités de WordPress. options API (Application Programming Interface).
function myfp_settings_page_html() {
// 检查用户权限
if ( !current_user_can( 'manage_options' ) ) {
return;
}
// 处理表单提交
if ( isset( $_POST['myfp_footer_text'] ) ) {
update_option( 'myfp_footer_text', sanitize_textarea_field( $_POST['myfp_footer_text'] ) );
echo '<div class="notice notice-success"><p>Les paramètres ont été sauvegardés !</p></div>';
}
// 获取现有值
$current_text = get_option( 'myfp_footer_text', '感谢阅读本文,由“我的第一个插件”为您呈现。' );
?>
<div class="wrap">
<h1>Les premières configurations de mon plugin</h1>
<form method="post" action="">
<?php wp_nonce_field( 'myfp_settings_action', 'myfp_settings_nonce' ); ?>
<table class="form-table">
<tr>
<th scope="row"><label for="footer_text">Texte de la partie inférieure de la page de l’article</label></th>
<td>
<textarea name="myfp_footer_text" id="footer_text" rows="4" cols="50" class="large-text"><?php echo esc_textarea( $current_text ); ?></textarea>
<p class="description">Cet texte sera affiché à la fin de chaque article.</p>
</td>
</tr>
</table>
<?php submit_button(); ?>
<input type="hidden" name="trp-form-language" value="fr"/></form>
</div>
<?php
} Enfin, n’oubliez pas de modifier la fonction qui filtre le contenu des articles précédemment, afin qu’elle prenne en compte les options sélectionnées. myfp_footer_text On lit le texte à partir d’un fichier externe, plutôt que d’utiliser des chaînes de caractères fixées (héritées du code source). Ainsi, une page de configuration pour l’administration de base est créée.
résumés
Suivant les étapes décrites dans cet article, vous avez créé un plugin WordPress complet à partir de zéro. Vous avez appris à mettre en place un environnement de développement, à construire la structure de base d’un plugin, à utiliser le mécanisme de crochets (actions et filtres) intégré à WordPress pour étendre ses fonctionnalités, à mettre en œuvre des codes courts (shortcodes), ainsi qu’à créer une interface d’administration. L’essence du développement de plugins réside dans la compréhension du fonctionnement basé sur les crochets et les événements, ce qui vous permet de personnaliser en profondeur le comportement de WordPress sans avoir à modifier son code source. N’oubliez pas que une bonne structure du code, un traitement sécurisé des données entrantes et sortantes, ainsi qu’un soutien à l’internationalisation, sont les fondements de la création de plugins de haute qualité. À l’avenir, vous pourrez ajouter d’autres fonctionnalités à votre plugin, comme des types d’articles personnalisés, des outils supplémentaires ou des points d’accès REST API, et continuer à explorer les possibilités infinies de l’écosystème WordPress.
FAQ Foire aux questions
Un plugin doit-il obligatoirement contenir seulement un fichier PHP ?
Pas nécessairement. Un plugin peut être constitué d’un seul fichier PHP, mais pour les plugins plus complexes, une structure modulaire est plus recommandée. Vous pouvez diviser les différentes fonctionnalités en classes ou fichiers distincts, et le fichier principal se chargera uniquement d’incorporer ces fichiers et d’initialiser le plugin. Cela facilite la maintenance et l’organisation du code. Par exemple, vous pouvez créer… includes/ Le répertoire contient les classes relatives aux fonctions.admin/ Le répertoire contient le code lié au backend.public/ Le répertoire contient la logique front-end.
Comment traiter de manière sûre les données saisies par les utilisateurs dans les plugins ?
Lors du traitement des données saisies par les utilisateurs (telles que les données de formulaires ou les paramètres URL), il est essentiel de procéder à la validation, à la purification (sanitization) et à l'échappement (escaping) des données. Pour les données stockées dans une base de données, il convient d'utiliser des méthodes appropriées pour garantir la sécurité et la fiabilité des informations. sanitize_text_field()、sanitize_textarea_field()、intval() Nettoyer les fonctions correspondantes. Lors de l’affichage des données sur une page HTML, utiliser… esc_html()、esc_attr()、esc_url() Ou wp_kses() Effectuez l’échappement des caractères pour prévenir les attaques de type Cross-Site Scripting (XSS).
Comment déboguer le code lors du développement d'extensions ?
En plus d’activer… WP_DEBUG De plus, vous pouvez également utiliser… error_log() La fonction enregistre les informations personnalisées dans le journal de débogage. Cela permet de vérifier les valeurs des variables.var_dump() Ou print_r() En combinant die() C’est une méthode rapide, mais peu fiable. Il est préférable d’utiliser les fonctionnalités intégrées à WordPress. wp_die() et wp_send_json()(Utilisé pour le débogage AJAX.) De plus, l'utilisation de plugins de débogage professionnels tels que Query Monitor permet de visualiser de manière plus intuitive les informations relatives aux requêtes de base de données, aux hooks, aux scripts, ainsi qu'à d'autres éléments fonctionnant en temps réel.
Comment puis-je rendre mon plugin compatible avec plusieurs langues ?
Pour permettre à un plugin de prendre en charge l’internationalisation (i18n), il est nécessaire d’utiliser les fonctions de traduction fournies par WordPress. Tout d’abord, il faut configurer correctement ces fonctions dans les commentaires en tête du fichier du plugin. Text Domain(Comme ‘my-first-plugin’). Dans le code, utilisez ce format pour toutes les chaînes de caractères destinées aux utilisateurs. () Ou _e() Les fonctions sont encapsulées, par exemple… ( ‘Hello World’, ‘my-first-plugin’ )Ensuite, utilisez des outils tels que Poedit pour générer le contenu souhaité. .pot Des fichiers modèles, à partir desquels les traducteurs peuvent créer des versions dans différentes langues. .po et .mo Le fichier est stocké dans le plugin. languages/ Dans le dossier.
Quelle est la suite, quelle est la suite ?
Lecture approfondie et connaissances pratiques
Les articles suivants sont liés au sujet de cet article et peuvent faire l'objet d'une lecture plus approfondie. Il est souvent préférable de commencer par l'article qui se rapproche le plus de votre problème actuel, puis d'étendre progressivement la lecture aux sujets environnants.
- Guide de développement de plugins pour WordPress : Créez votre premier plugin personnalisé de zéro à un
- Devenir développeur de plugins pour WordPress : Un guide complet de A à Z
- Guide complet pour le développement de plugins WordPress : De l’initiation à la maîtrise pour créer des extensions professionnelles
- Développement de plugins pour WordPress : de l’initiation à la maîtrise : Créez votre premier plugin personnalisé
- De zéro à un : Guide complet pour développer votre premier plugin WordPress pas à pas