Environnement de développement de plugins pour WordPress et préparatifs de base
Avant de commencer à écrire du code, il est essentiel de disposer d’un environnement de développement stable et efficace. Cela non seulement améliore votre productivité, mais vous aide également à suivre les meilleures pratiques, garantissant ainsi la qualité et la compatibilité de vos plugins.
Tout d’abord, vous aurez besoin d’un environnement de développement local pour WordPress. Vous pouvez utiliser des outils tels que XAMPP, MAMP, Local by Flywheel ou Docker pour le mettre en place rapidement. Assurez-vous que votre environnement utilise une version récente de PHP (il est conseillé d’utiliser la version 7.4 ou une version ultérieure) ainsi que MySQL/MariaDB. Un environnement de développement local vous permet de tester et de déboguer librement sans affecter le site web en ligne.
Deuxièmement, vous aurez besoin d’un éditeur de code ou d’un environnement de développement intégré (IDE). Visual Studio Code, PhpStorm ou Sublime Text sont de très bonnes options ; ils offrent des fonctionnalités telles que l’highlighting du code, des suggestions automatiques et la possibilité de déboguer. Il est également conseillé d’installer des outils de qualité du code, comme PHP_CodeSniffer, et de configurer les normes de codage de WordPress pour garantir que votre style de programmation est cohérent avec celui du noyau de WordPress.
Lectures recommandées Guide complet pour le développement d’extensions WordPress : de l’initiation à la création d’extensions de niveau professionnel。
Enfin, comprendre la structure de base des plugins WordPress est la première étape. Le plugin le plus simple nécessite uniquement un fichier PHP principal, dans lequel des commentaires contenant des informations spécifiques sur le plugin doivent être inclus en tête du fichier. Ce fichier sert d’entrée pour le plugin, et WordPress utilise ces informations pour le reconnaître et le gérer.
Créez votre premier fichier de plugin.
Commençons par créer le plugin le plus simple possible, celui qui affiche simplement le message “Hello World”. Ce processus vous aidera à comprendre la structure de base d’un plugin ainsi que la manière dont WordPress reconnaît et gère ces plugins.
Tout d'abord, dans le répertoire d'installation de WordPress,wp-content/pluginsDans le dossier, créez un nouveau dossier. Le nom du dossier doit être unique, descriptif, et composé uniquement de lettres minuscules et de points-virgules, par exemple :my-first-plugin。
Dans ce dossier, créez un fichier PHP principal dont le nom correspond généralement au nom du dossier, par exemple…my-first-plugin.phpEn haut de ce fichier, vous devez ajouter une annotation de type “ header ” conforme aux normes de WordPress pour votre plugin. Celle-ci constitue en quelque sorte l’« identité » de votre plugin et contient des informations telles que son nom, sa description, sa version, son auteur, etc. Sans cette annotation, WordPress ne pourra pas trouver votre plugin dans la liste des plugins disponibles en back-office.
Voici un exemple de fichier de plugin le plus basique :
Lectures recommandées Commencer de zéro : pourquoi choisir le développement de plugins pour WordPress ?。
<?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
*/
// 防止直接访问文件
if ( ! defined( 'ABSPATH' ) ) {
exit; // 如果ABSPATH未定义,则退出
} Après avoir enregistré ce fichier, connectez-vous à l’administration de votre WordPress et allez sur la page des “ Plugins ”. Vous devriez voir “ Mon premier plugin ” dans la liste des plugins. Vous pouvez alors l’activer, mais il ne fera rien pour l’instant.if ( ! defined( ‘ABSPATH’ ) )La vérification est une pratique de sécurité importante qui empêche les utilisateurs d’accéder directement aux fichiers de votre plugin via une URL, et assure que le code n’est exécuté que dans l’environnement WordPress.
Ajouter des fonctionnalités essentielles au plugin.
Un plugin activé doit effectuer certaines opérations. Dans WordPress, cela se réalise principalement à l’aide des “ Action Hooks ” et des “ Filter Hooks ”. Ce sont les fondamentaux de l’architecture des plugins WordPress, qui vous permettent d’insérer votre propre code ou de modifier des données à des moments précis.
Utiliser des crochets d’action pour ajouter des notifications à l’interface d administration.
Les « hooks d’action » vous permettent d’exécuter vos propres fonctions à des moments précis pendant le fonctionnement de WordPress (par exemple, après l’initialisation, lors du chargement de la partie supérieure de la page, ou lors de l’enregistrement d’un article). Ajoutons une fonction simple : afficher un message de bienvenue en haut de l’interface d’administration de WordPress.
Nous allons utiliser…admin_noticesPour ce hook d’action, vous devez d’abord créer une fonction qui génère du contenu HTML, puis l’utiliser…add_action()La fonction “monte” cette autre fonction sur le crochet (hook).
Dans votre fichier de plugin principal, ajoutez le code suivant :
/**
* 在管理后台显示欢迎通知
*/
function myfp_display_admin_notice() {
?>
<div class="notice notice-success is-dismissible">
<p>Bienvenue à l’utilisation de “ Mon premier plugin ” ! Le plugin a été activé avec succès.</p>
</div>
<?php
}
// 将函数挂载到 admin_notices 动作钩子
add_action( 'admin_notices', 'myfp_display_admin_notice' ); Sauvez vos modifications et rafraîchissez l’interface d’administration de WordPress. Vous devriez voir une boîte de message verte indiquant que l’opération a été réussie en haut de la page. Notez le nom de la fonction concernée.myfp_display_admin_noticeLe préfixe a été utilisé.myfp_(Dérivé des abréviations des noms des plugins) Cela vise à éviter les conflits avec les noms de fonctions d’autres plugins ou thèmes ; il s’agit d’une convention de nommage qui doit être respectée.
Lectures recommandées Guide complet pour le développement de plugins WordPress : Construire des fonctionnalités d'extension de haute qualité pour WordPress, de zéro à un。
Utiliser les hooks des filtres pour modifier le contenu des articles
Les hooks de filtre vous permettent de modifier les données transmises par WordPress. Par exemple, vous pouvez modifier le contenu, le titre ou le résumé d’un article avant leur affichage. Crions une fonction qui ajoute automatiquement une déclaration de droits d’auteur à la fin de chaque article.
Nous allons utiliser…the_contentCe filtre hook nécessite la création d’une fonction qui reçoit le contenu original…$contentModifiez la fonction correspondante, puis retournez le contenu modifié.
Ajoutez le code suivant dans votre fichier de plugin :
/**
* 在文章内容末尾添加版权声明
* @param string $content 原始的文章内容
* @return string 修改后的文章内容
*/
function myfp_add_copyright_to_content( $content ) {
// 仅对主循环中的单篇文章页面生效
if ( is_single() && in_the_loop() && is_main_query() ) {
$copyright_text = '<p><em>Le droit d'auteur de cet article appartient à ce site web. Pour toute réutilisation, veuillez mentionner la source.</em></p>'fonction myfp_add_copyright_to_content() :
if ( ! empty( $$content ) ) {
$content .= $copyright_text;
}
return $content;
}
// Ajoute la fonction au filtre the_content, avec une priorité de 10.
add_filter( 'the_content', 'myfp_add_copyright_to_content', 10 ); Maintenant, lorsque vous consultez n’importe quel article sur le site web, une déclaration de droits d’auteur que vous avez ajoutée apparaît en bas du contenu. Les conditions de contrôle se trouvent dans la fonction.is_single() && in_the_loop() && is_main_query()C’est très important : cela garantit que ce texte n’apparaîtra que dans le cycle principal de la page de l’article en question, et non dans la liste de la page d’accueil, dans les gadgets ou ailleurs. C’est un détail à prendre en compte lors de la création de plugins de haute qualité.
Internationalisation des plugins et bonnes pratiques
Pour que votre plugin puisse être utilisé par des utilisateurs du monde entier, l’internationalisation (i18n) est une étape essentielle. WordPress met à disposition des fonctions complètes pour permettre la traduction des textes contenus dans le plugin dans d’autres langues.
Préparation du texte du plugin pour le soutien de la traduction.
Vous devez utiliser une fonction spécifique pour encadrer toutes les chaînes de caractères affichées aux utilisateurs à l’intérieur du plugin. La fonction la plus couramment utilisée est…()Utilisé pour obtenir la traduction._e()Utilisé pour afficher directement la traduction, ainsi que…esc_html()Utilisé dans les contextes où il est nécessaire d’échapper aux caractères HTML.
Tout d’abord, modifions le texte des fonctions de notification et de gestion des droits d’auteur que nous avons créées précédemment en utilisant la fonction de traduction.
La fonction myfp_display_admin_notice() :
?>
<div class="notice notice-success is-dismissible">
<p><p><strong>Bienvenue à 'Mon premier plugin“ ! Le plugin a été activé avec succès.</strong></p></p>
</div>
<?php
}
function myfp_add_copyright_to_content( $content ) {
if ( is_single() && in_the_loop() && is_main_query() ) {
$copyright_text = '<p><em>'Le droit d'auteur de cet article appartient à ce site web. Pour toute réutilisation, veuillez mentionner la source. ', esc_html__( 'Le droit d'auteur de cet article appartient à ce site web. Pour toute réutilisation, veuillez mentionner la source. ', 'my-first-plugin' ) . '</em></p>'fonction $() {
if (isset($$content)) {
$$content .= $$copyright_text;
}
return $$content;
} Remarquez que chaque fonction de traduction contient un deuxième paramètre.‘my-first-plugin’C’est ce que vous avez défini en haut du fichier du plugin.Text DomainIl s’agit d’un identifiant unique qui permet à WordPress de savoir à quel plugin ces chaînes de caractères appartiennent.
Ensuite, vous devez spécifier cela dans les commentaires en tête du plugin.Domain Path(c’est-à-dire)/languagesPlacez les fichiers de traduction (fichiers .po et .mo) dans le dossier approprié. Vous pouvez utiliser des outils tels que Poedit pour créer et gérer ces fichiers de traduction.
Respecter les normes de sécurité et de codage.
La sécurité est de la plus haute importance dans le développement de plugins. Ne faites jamais confiance aux données saisies par les utilisateurs. Lorsque vous traitez des informations provenant de…$_GET、$_POSTOu$_REQUESTAvant de traiter les données, il est nécessaire de les vérifier, de les nettoyer et de les échapper.
WordPress met à votre disposition une multitude de fonctions pour vous aider :
* 验证(Validation):检查数据是否符合预期格式(如is_email())。
* 清理(Sanitization):清除数据中的非法字符(如sanitize_text_field(), sanitize_email())。
* 转义(Escaping):在将数据输出到HTML、JavaScript或URL之前,确保其安全(如esc_html(), esc_js(), esc_url())。
De plus, lorsque vous travaillez directement avec la base de données, veillez à utiliser les classes dédiées à la gestion de la base de données de WordPress.$wpdbLes méthodes fournies, telles que…$wpdb->prepare()Cela vise à prévenir les attaques de injection SQL.
résumés
À travers ce guide, vous avez suivi l’ensemble du processus pour créer un plugin WordPress complet, à partir de zéro. Vous avez appris à mettre en place l’environnement de développement, à créer les fichiers de base du plugin, à utiliser les actions et les hooks pour y ajouter des fonctionnalités, ainsi qu’à améliorer le professionnalisme et l’utilisabilité du plugin grâce à des pratiques d’internationalisation et de sécurité. L’essence du développement de plugins réside dans la compréhension et l’utilisation maîtrisée du système de hooks de WordPress, qui offre une extensibilité et une flexibilité sans égales. N’oubliez pas de commencer par des fonctionnalités simples, d’iter progressivement, et de toujours donner la priorité à la sécurité et à la qualité du code : ainsi, vous pourrez créer des plugins WordPress puissants et fiables.
FAQ Foire aux questions
Un plugin doit-il obligatoirement être placé dans un dossier ?
Pas nécessairement. Un plugin très simple, composé d’un seul fichier, peut effectuer directement la tâche souhaitée.plugin-name.phpPlacerwp-content/plugins/Dans le répertoire. Cependant, pour tout plugin contenant plusieurs fichiers (tels que des fichiers CSS, JS, images ou fichiers de langage), il est fortement conseillé d’utiliser un dossier distinct pour organiser tous les fichiers pertinents. Cela permet de rendre la structure plus claire et de faciliter la gestion.
Comment créer une page de paramétrage pour mon plugin ?
Vous pouvez utiliser l’API de configuration fournie par WordPress pour créer des pages de configuration professionnelles et sécurisées. Les étapes principales sont les suivantes :add_menu_page()Ouadd_submenu_page()La fonction enregistre une page de menu, puis l’utilise.register_setting()、add_settings_section()etadd_settings_field()Utilisez des fonctions pour définir les champs et les sections à configurer. Enfin, rédigez une fonction de rappel (callback) pour générer le formulaire HTML de la page de configuration.
Dans le développement de plugins, pourquoi les prefixes (préfixes) sont-ils si importants ?
WordPress est un vaste écosystème composé de plugins et de thèmes. Tout le code s’exécute dans le même espace de noms global. Si vous avez défini une variable nommée…get_data()Lorsque une fonction ordinaire est utilisée et qu'un autre plugin définit également une fonction du même nom, cela peut provoquer une erreur fatale et entraîner la panne du site web. L’utilisation d’un préfixe unique (par exemple, l’abréviation du nom du plugin) peut grandement éviter de tels conflits et garantir la compatibilité des plugins.
Comment dois-je déboguer le code de mon plugin ?
Dans le développement de WordPress, l'outil de débogage préféré est… (l'outil n'est pas spécifié dans le texte original).WP_DEBUGVous pouvez le faire sur le site web.wp-config.phpDans le fichier, cela se fait en effectuant des paramétrages appropriés.define( ‘WP_DEBUG’, true );Pour l’activer, suive les instructions indiquées. Cela affichera tous les erreurs, avertissements et notifications PHP à l’écran. Pour un débogage plus avancé, vous pouvez utiliser des outils supplémentaires.error_log()La fonction écrit les informations dans le journal d'erreurs du serveur, ou vous pouvez utiliser des outils de débogage PHP professionnels tels que Xdebug en conjonction avec votre IDE pour effectuer un débogage ligne par ligne.
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.
- Comment choisir et personnaliser le thème WordPress parfait pour vous ?
- 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
- De zéro à un : Guide complet et astuces pratiques pour construire un site web professionnel avec WordPress
- Guide complet pour le développement de plugins WordPress : De l’initiation à la maîtrise pour créer des extensions professionnelles