Guide d’introduction au développement de plugins WordPress : créez votre premier plugin personnalisé à partir de zéro.

Lecture en 3 minutes
2026-03-15
2026-06-03
2,831
Je reçois une commission lorsque vous achetez via les liens ci‑dessous, sans frais supplémentaires pour vous.

Pourquoi développer ses propres plugins pour WordPress ?

Dans l’écosystème WordPress, les plugins sont au cœur de l’extension des fonctionnalités d’un site web. Bien qu’il existe des milliers de plugins disponibles sur le marché, le développement de ses propres plugins offre des avantages uniques. Tout d’abord, cela vous permet de mettre en place des fonctionnalités personnalisées qui répondent exactement à vos besoins, évitant ainsi le code encombrant ou les fonctionnalités inutiles des plugins standard. Deuxièmement, les plugins développés maison peuvent être intégrés de manière approfondie à votre thème ou à d’autres codes personnalisés, garantissant une meilleure compatibilité et des performances améliorées. De plus, en développant des plugins, vous séparez la logique de votre application du code de votre thème, ce qui constitue une meilleure pratique de développement pour WordPress. Ainsi, même si vous changez de thème à l’avenir, les fonctionnalités essentielles continueront de fonctionner correctement, améliorant ainsi la maintenance de votre site web.

Pour les développeurs, apprendre à créer des plugins est un excellent moyen de mieux comprendre la structure de WordPress. Vous aurez accès aux hooks d’actions (action hooks).add_actionFiltre hookadd_filterShortcodesadd_shortcodeParmi ces concepts clés, maîtriser ces connaissances vous permettra non seulement de créer vos propres plugins, mais aussi de personnaliser plus efficacement les thèmes et plugins existants.

Configuration de l’environnement et préparatifs avant le développement

Avant de commencer à écrire la première ligne de code, il est essentiel de mettre en place un environnement de développement approprié. Cela non seulement améliore l’efficacité, mais permet également d’éviter les erreurs.

Lectures recommandées Découvrez WordPress, du niveau débutant au niveau expert : partage d’expériences pratiques et de techniques clés.

Créer un environnement de développement local

Il est recommandé d’utiliser des logiciels de serveur locaux, tels que Local by Flywheel, XAMPP ou MAMP, qui permettent de configurer rapidement un environnement de développement pour WordPress sur votre ordinateur, comprenant Apache, MySQL et PHP. Par rapport aux serveurs en ligne, le développement local vous offre la possibilité de tester et de déboguer rapidement, sans risquer d’affecter le site web en ligne.

Hébergement WordPress par UltraHost
Garantie de remboursement dans les 30 jours, bande passante illimitée et base de données, protection gratuite contre les attaques DDoS. Avantage de 501 TP4T pour les achats sur 3 ans.

Après avoir installé WordPress localement, vous devez…wp-content/pluginsCréez un dossier exclusif pour votre nouveau plugin dans le répertoire. Il est conseillé d’utiliser un nom anglais court, en minuscules et sans espaces, par exemple…my-first-plugin

Connaître la structure de base des plugins

Le plugin le plus simple pour WordPress peut être composé d’un seul fichier principal. Ce fichier doit contenir des commentaires spécifiques définissant la structure du plugin, que WordPress utilise pour reconnaître les informations relatives à ce dernier. Il est également nécessaire de mettre en place des mesures de sécurité, notamment pour protéger l’accès direct au contenu du fichier, généralement en vérifiant les conditions d’accès.ABSPATHLes constantes sont-elles définies dans le but d’être utilisées ?

Voici un exemple de fichier principal de plugin minimalisé, qui peut être nommé…my-first-plugin.phpEt placez-le dans le dossier que vous venez de créer.

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://yourwebsite.com/my-first-plugin
 * Description:       这是一个用于学习的入门级WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 */

// 防止直接访问此文件
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

Placez le dossier contenant ce fichier dans…wp-content/pluginsAprès avoir créé le répertoire, vous pourrez le trouver sur la page des “ Plugins ” dans l’administration de WordPress et l’activer.

Lectures recommandées Guide ultime pour le développement de plugins WordPress : Construire des extensions de fonctionnalités personnalisées de zéro à un

Créer la première fonctionnalité principale.

Maintenant, ajoutons quelques fonctionnalités réelles à ce plugin. Nous allons créer une fonctionnalité simple : ajouter automatiquement un texte personnalisé à la fin du contenu de l’article.

Utiliser des filtres pour modifier le contenu d’un article.

WordPress propose de nombreux « hooks de filtre » (Filter Hooks) qui vous permettent de modifier les données avant qu’elles ne soient enregistrées dans la base de données ou affichées dans le navigateur. Pour modifier le contenu d’un article, nous pouvons utiliser…the_contentFiltre.

Dans votre fichier de plugin principal, après avoir activé les hooks, ajoutez la fonction suivante ainsi que l’appel correspondant aux hooks :

hosting.com Hébergement partagé
Hautes performances avec les CPU AMD EPYC, stockage SSD NVMe et LiteSpeed, support interne expert 24h/24 et 7j/7, mesures de sécurité avancées, notamment SSL, protection contre la force brute, les logiciels malveillants et le DDoS, économies pouvant aller jusqu'à 73%.
// 定义向文章内容追加文本的函数
function my_first_plugin_add_text_to_content( $content ) {
    // 确保只在主循环的单篇文章页面执行
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $additional_text = '<p><em>Merci de lire cet article ! Il est soutenu par “ Mon premier plugin ”.</em></p>';
        $content .= $additional_text;
    }
    return $content;
}
// 将函数挂载到‘the_content’过滤器上
add_filter( 'the_content', 'my_first_plugin_add_text_to_content' );

Cette fonction effectue d’abord une série de vérifications pour s’assurer que le texte supplémentaire n’apparaît que sur les pages des articles individuels, et non sur la page d’accueil, les pages d’archive ou d’autres types de pages. Ensuite, elle ajoute un paragraphe HTML personnalisé au contenu original.$contentAprès avoir modifié la variable, le contenu modifié est retourné.

Créer une page de paramètres de gestion simple.

Afin que les utilisateurs puissent personnaliser le texte à ajouter, nous devons leur créer une option de configuration. Cela implique d’ajouter un élément de menu et une page de paramétrage dans l’administration de WordPress.

Tout d'abord, utilisezadd_actionLe crochet ajoute une page de sous-menu dans le menu des administrateurs :

Lectures recommandées Maîtriser le développement de plugins pour WordPress : Construire votre premier plugin personnalisé de zéro à un

// 创建管理菜单
function my_first_plugin_add_admin_menu() {
    add_options_page(
        '我的第一个插件设置', // 页面标题
        '我的插件设置',       // 菜单标题
        'manage_options',     // 所需权限
        'my-first-plugin',    // 菜单slug
        'my_first_plugin_settings_page' // 显示页面的回调函数
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' );

Ensuite, définez la fonction de rappel (callback) qui affiche la page de paramétrage des affichages.my_first_plugin_settings_pageEt gérer la logique de sauvegarde du formulaire :

// 设置页面的HTML内容
function my_first_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h2>Les premières configurations de mon plugin</h2>
        <form method="post" action="/fr/options.php/" data-trp-original-action="options.php">
            <?php
            settings_fields( 'my_first_plugin_settings_group' );
            do_settings_sections( 'my-first-plugin' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

// 注册设置、区域和字段
function my_first_plugin_settings_init() {
    register_setting( &#039;my_first_plugin_settings_group&#039;, &#039;my_first_plugin_custom_text&#039; );

add_settings_section(
        &#039;my_first_plugin_section&#039;,
        &#039;自定义文本设置&#039;,
        null,
        &#039;my-first-plugin&#039;
    );

add_settings_field(
        &#039;my_first_plugin_text_field&#039;,
        &#039;要在文末添加的文本&#039;,
        &#039;my_first_plugin_text_field_render&#039;,
        &#039;my-first-plugin&#039;,
        &#039;my_first_plugin_section&#039;
    );
}
add_action( &#039;admin_init&#039;, &#039;my_first_plugin_settings_init&#039; );

// 渲染文本输入字段
function my_first_plugin_text_field_render() {
    $option = get_option( &#039;my_first_plugin_custom_text&#039;, &#039;感谢您阅读这篇文章!本文由“我的第一个插件”提供支持。&#039; );
    echo &#039;<textarea name="my_first_plugin_custom_text" rows="3" cols="50">' . esc_textarea( $option ) . '</textarea>';
}

Enfin, modifiez la fonction qui ajoute du texte précédemment, afin qu’elle puisse choisir parmi différentes options.my_first_plugin_custom_textLire le contenu à partir de :

Hébergement partagé InterServer
Hébergement mutualisé $2.50 USD par mois, premier mois $0.1 USD code promo tryinterserver, 461 scripts cloud apps, installation en un clic.
function my_first_plugin_add_text_to_content( $content ) {
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $custom_text = get_option( 'my_first_plugin_custom_text', '' );
        if ( ! empty( $custom_text ) ) {
            $additional_text = '<p><em>'`wp_kses_post($custom_text)`'</em></p>';
            $content .= $additional_text;
        }
    }
    return $content;
}

Préparation de la sécurité, de l’optimisation et de la distribution des plugins

Un plugin qualifié doit non seulement fonctionner correctement, mais aussi être sûr, efficace et facile à maintenir.

Validation des données, échappement et sécurité

La sécurité est l’élément essentiel dans le développement de plugins. Ne faites jamais confiance aux données saisies par les utilisateurs, ni aux données extraites directement de la base de données. Lorsque vous affichez ces données sur la page, il est indispensable de les échapper (c’est-à-dire de modifier leur format pour éviter les problèmes de sécurité). Dans le code précédent, nous avons utilisé…esc_textarea()Sur la page de gestion, assurez l’échappement des données affichées et utilisez les fonctionnalités appropriées pour cela.wp_kses_post()Sur la page de l’article, le filtrage du HTML ne permet le passage que des balises de contenu de messages considérées comme sûres. Pour le traitement des formulaires, il conviendra d’utiliser les fonctionnalités de vérification non obligatoire et les mécanismes de contrôle des droits fournis par WordPress.sanitize_text_field()Utilisez des fonctions telles que… pour nettoyer les données.

Organisation du code et optimisation des performances

Avec l’augmentation du nombre de fonctionnalités des plugins, il devient difficile de gérer tout le code dans un seul fichier principal. La meilleure pratique consiste à diviser le code en fonction de ses différentes fonctionnalités et à le stocker dans des fichiers distincts. Par exemple, vous pouvez créer…includes/admin/Le répertoire contient tout le code lié à l'interface d administration.includes/public/Le répertoire contient le code des fonctionnalités frontales.includes/class-*.phpContient les définitions des classes.

En termes de performance, il convient d’utiliser les hooks avec prudence. Assurez-vous de n’exécuter les fonctions contenus dans les hooks que lorsque c’est vraiment nécessaire (par exemple, sur la base de conditions). Pour les valeurs des options qui doivent être lues à partir de la base de données et qui sont utilisées à plusieurs reprises sur le front-end, il est possible de les stocker dans des variables globales ou dans un cache objet, afin d’éviter des requêtes répétées à la base de données.

Vous êtes sur le point de publier votre plugin.

Si vous comptez publier votre plugin dans le répertoire officiel des plugins de WordPress ou le mettre à la disposition d’un plus grand nombre d’utilisateurs, il vous faut améliorer plusieurs aspects. Tout d’abord, veillez à ce que les informations contenues dans les commentaires en tête du plugin soient complètes et précises. Ensuite, rédigez une documentation claire et détaillée…readme.txtLe fichier doit respecter les exigences de format officielles de WordPress et contenir des informations détaillées sur les fonctionnalités du plugin, les étapes d’installation, ainsi que les questions fréquemment posées. Enfin, il faut effectuer des tests approfondis, y compris des tests de compatibilité sur différentes versions de PHP, différentes versions de WordPress, ainsi qu’en combinaison avec différents thèmes et autres plugins populaires.

résumés

À travers ce guide, nous avons suivi l’ensemble du processus pour créer un plugin WordPress complet et doté d’une interface d’administration, à partir de zéro. Nous avons appris la structure de base d’un plugin, comment interagir avec le noyau de WordPress à l’aide des actions et des hooks de filtre, comment créer des pages d’administration, et avons également pris conscience de l’importance de la sécurité et de l’organisation des plugins. L’essence du développement de plugins réside dans la compréhension de l’architecture basée sur les événements de WordPress, ainsi que dans l’apprentissage de l’art d’insérer votre code personnalisé au bon moment. À partir de là, vous pourrez explorer des sujets plus avancés tels que les types d’articles personnalisés, les métadonnées, les points d’accès REST API et la création de tables dans la base de données, afin de construire progressivement des plugins professionnels et puissants.

FAQ Foire aux questions

Quelles connaissances de base sont nécessaires pour développer des plugins pour WordPress ?

Il est essentiel de maîtriser la syntaxe de base du langage de programmation PHP ainsi que les concepts de programmation orientée objet. De plus, une connaissance de base des langages HTML, CSS et JavaScript est requise. Il sera également très utile de se familiariser avec les opérations de base de WordPress et ses concepts fondamentaux, tels que les articles, les pages et les catégories. Le plus important est de comprendre le mécanisme des « hooks » (Actions et Filters) de WordPress, qui constitue la principale méthode d’interaction entre les plugins et le système WordPress lui-même.

Quelles sont les différences entre les fonctionnalités des plugins et des thèmes, et comment choisir le bon élément ?

Les thèmes contrôlent principalement l’apparence et le layout d’un site web, tandis que les plugins servent à ajouter des fonctionnalités supplémentaires. Un bon principe est de placer les fonctionnalités qui sont étroitement liées à leur présentation visuelle dans les thèmes ; les fonctionnalités indépendantes (comme les formulaires de contact, l’optimisation SEO ou le commerce électronique) doivent être développées sous forme de plugins. La mise en œuvre de ces fonctionnalités sous forme de plugins permet de garantir que celles-ci ne soient pas perdues lors du changement de thème, ce qui constitue une meilleure pratique de développement pour WordPress.

Puis-je créer plusieurs fichiers PHP dans un plugin ?

Bien sûr que c’est possible, et c’est même la pratique recommandée pour les plugins complexes. Vous pouvez diviser les différents modules fonctionnels en fichiers distincts, puis les gérer depuis le fichier principal du plugin.require_onceOuinclude_onceUtilisez des instructions appropriées pour les introduire. Une bonne structure de fichier facilite l’organisation du code et la collaboration au sein de l’équipe.

Comment déboguer le plugin que j’ai développé ?

Dans le développement avec WordPress, une méthode de débogage couramment utilisée est d’activer…WP_DEBUGVous pouvez le faire sur le site web.wp-config.phpDans le document, il sera indiqué que...define( 'WP_DEBUG', true );Cela affichera les erreurs, les avertissements et les notifications PHP à l’écran. Une méthode plus sûre consiste à les configurer en même temps.WP_DEBUG_LOGPourtrueEnregistre les erreurs dans…wp-content/debug.logLe fichier se trouve à l’intérieur du dossier correspondant. De plus, l’utilisation d’outils de développement intégrés au navigateur, ainsi que de plugins de débogage tels que Query Monitor, peut considérablement améliorer l’efficacité des travaux de développement.

Mon plugin doit être compatible avec de très anciennes versions de WordPress.

Cela dépend de votre public cible. En général, il est conseillé de garantir la compatibilité avec au moins les deux versions précédentes des versions majeures actuelles. Vous pouvez consulter les statistiques officielles de WordPress pour connaître la répartition des versions utilisées. Dans votre code, vous pouvez utiliser des instructions conditionnelles pour adapter votre application aux différentes versions.function_exists()Pour vérifier si une fonction ou une classe est disponible, afin de garantir la compatibilité avec les versions précédentes, il suffit de… (The text seems incomplete here.)readme.txtDans le fichier, il est nécessaire de préciser la version de WordPress pour laquelle les tests ont été réussis.