Guide de début pour le développement de plugins WordPress : Construisez votre premier plugin fonctionnel à partir de zéro

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

Dans l’immensité d’Internet, WordPress occupe une place de premier plan parmi les systèmes de gestion de contenu, grâce à sa flexibilité et à son vaste écosystème. Sa capacité d’extension est en grande partie liée aux plugins. Pour les développeurs, maîtriser la création de plugins WordPress permet non seulement de personnaliser en profondeur les fonctionnalités d’un site web, mais aussi de transformer leurs idées en produits réutilisables. Cet article vous guidera pas à pas, à partir de zéro, pour créer votre premier plugin WordPress doté de fonctionnalités pratiques, et vous révélera les mystères du développement de plugins.

Les bases des plugins WordPress et les préparatifs nécessaires

Avant de commencer à écrire la première ligne de code, il est essentiel de comprendre les concepts de base des plugins WordPress et de mettre en place un environnement de développement approprié. Un plugin WordPress est essentiellement un ensemble d’un ou plusieurs fichiers PHP, qui peuvent également contenir des ressources telles que du JavaScript, du CSS ou des images. Il permet d’ajouter de nouvelles fonctionnalités ou de modifier des fonctionnalités existantes, et il est indépendant des thèmes ; cela signifie que les fonctionnalités du plugin ne sont généralement pas affectées lors du changement de thème.

Vous avez besoin d’un environnement de développement local (par exemple, Local by Flywheel, XAMPP, MAMP) ou d’un site de test conçu pour le développement. Les outils essentiels comprennent un éditeur de code (comme VS Code, PhpStorm) ainsi que les outils de débogage intégrés aux navigateurs. Il est également important de bien comprendre le fonctionnement de WordPress.wp-content/pluginsLa structure du répertoire est la première étape : tous les plugins sont installés ici.

Lectures recommandées Entamer le voyage du développement de plugins pour WordPress signifie que vous maîtrisez les outils nécessaires pour créer des extensions qui pourront être utilisées par des utilisateurs du monde entier.

Créez votre premier fichier de plugin.

Le point d’entrée d’un plugin est un fichier PHP principal situé dans un répertoire indépendant. Ce fichier doit contenir une annotation de tête standard pour plugins, car WordPress s’y réfère pour reconnaître et afficher votre plugin dans l’interface d’administration en arrière-plan.

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.

Définition des informations de la tête du plugin

Chaque plugin doit commencer par un bloc de commentaires PHP spécifique. Ce bloc de commentaires définit l’identité de base du plugin dans l’administration de WordPress. Dans votre répertoire de plugins (par exemple…wp-content/plugins/my-first-pluginDans ce document, créez un élément nommé…my-first-plugin.phpLe fichier…

<?php
/**
 * Plugin Name:       我的第一个功能插件
 * Plugin URI:        https://yourwebsite.com/my-first-plugin
 * Description:       这是一个学习用的WordPress插件,用于在文章末尾添加自定义提示框。
 * Version:           1.0.0
 * Requires at least: 5.6
 * Requires PHP:      7.4
 * Author:            你的名字
 * Author URI:        https://yourwebsite.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 */

Après avoir enregistré le fichier, connectez-vous à l’administration de votre WordPress et allez dans le menu “ Plugins ”. Vous devriez voir un plugin intitulé “ Mon premier plugin fonctionnel ” dans la liste des plugins. Vous pouvez alors l’activer. Bien qu’il n’ait aucune fonction pour l’instant, vous avez déjà franchi la première étape avec succès.

Construire la structure de base d'un plugin

Avec l’augmentation du nombre de fonctionnalités, un seul fichier devient difficile à maintenir. Une bonne pratique consiste à créer une structure de répertoires organisée. Par exemple, il est possible de créer des répertoires dans le répertoire racine des plugins.includes/Le dossier contient les fichiers de classes ou de fonctions PHP essentielles.assets/Le dossier contient des fichiers JavaScript et CSS.admin/etpublic/Gérer séparément la logique du backend et celle du frontend. Fichier principal.my-first-plugin.phpIl est alors chargé de guider et de charger ces modules.

Réaliser les fonctionnalités principales : des hooks et des filtres.

La philosophie fondamentale du développement de plugins pour WordPress repose sur les “ hooks ” (crochets), qui vous permettent d’insérer votre propre code à des moments précis sans avoir à modifier les fichiers du noyau du système. Les hooks se divisent en deux catégories : les actions (Actions) et les filtres (Filters). Les actions vous permettent d’exécuter des fonctions lorsque des événements spécifiques se produisent, par exemple lors de la publication d’un article ou de la chargement de la page d’accueil ; les filtres, quant à eux, vous permettent de modifier des données, telles que le contenu ou le titre d’un article.

Lectures recommandées De zéro à un : guide complet et tutoriel pratique pour le développement de plugins WordPress.

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

Ajoutons la première fonctionnalité réelle à ce plugin : l’affichage automatique d’une boîte de message personnalisée à la fin de chaque article. Nous allons utiliser…the_contentFiltre.

Tout d’abord, dans le fichier principal du plugin, ajoutez la fonction et le hook suivants en dessous des commentaires d’en-tête :

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

/**
 * 在文章内容末尾添加自定义提示框
 *
 * @param string $content 原始文章内容。
 * @return string 修改后的文章内容。
 */
function mfp_add_notice_box( $content ) {
    // 仅在主循环的单篇文章页面显示
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $notice_box = '<div class="mfp-notice" style="background-color: #f0f8ff; border-left: 4px solid #3498db; padding: 15px; margin: 20px 0; border-radius: 5px;">'$notice_box = '<p><strong>Conseil :</strong> Cet article a été enrichi et affiché grâce au “ Mon premier plugin fonctionnel ”. J'espère que vous appréciez ce contenu !</p>'$notice_box = '</div>';
        $content .= $notice_box;
    }
    return $content;
}
add_filter( 'the_content', 'mfp_add_notice_box' );

La fonctionmfp_add_notice_boxRecevoir le contenu original.$contentEn tant que paramètre, il faut vérifier si l'environnement actuel correspond à une page présentant un seul article. Si c'est le cas, il faut assembler un bloc HTML contenant un message d'information, puis retourner le contenu modifié.add_filterLa fonction permet d’installer cette fonction personnalisée dans WordPress.the_contentSur le filtre.

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%.

Utiliser une action pour ajouter un menu de paramètres à un plugin

Afin d’améliorer le plug-in, nous devons généralement fournir une page de configuration d’arrière-plan. Ici, nous devons utiliser des crochets d’action.admin_menuAjoutons un élément de menu.

/*/
 * Ajouter un menu de paramètres du plug-in dans l'interface d'administration de WordPress
 */
function mfp_add_admin_menu() {
    add_options_page(
        'Paramètres de mon plug-in',  // Titre de la page
        'Mon premier plug-in',  // Titre du menu
        'manage_options',  // Autorisations requises
        'my-first-plugin',  // Slug du menu
        'mfp_render_settings_page'  // Fonction de rappel pour afficher le contenu de la page
    );
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );

/*/
 * Rendre le contenu de la page de paramètres
 */
function mfp_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Les premières configurations de mon plugin</h1>
        <form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            settings_fields( 'mfp_settings_group' );
            do_settings_sections( 'my-first-plugin' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

À travers cet exemple, vous avez appris comment utiliser les « action hooks » pour étendre l’interface de administration de WordPress. La page de configuration complète nécessite généralement également l’utilisation d’autres outils ou fonctionnalités supplémentaires.register_setting, add_settings_sectionetadd_settings_fieldDes fonctions telles que celles-ci sont utilisées pour définir et enregistrer les options, ce qui constitue la base de l’interactivité des plugins.

Ajouter des styles et des scripts à un plugin

Un plugin professionnel doit non seulement offrir des fonctionnalités performantes, mais également présenter un aspect esthétique agréable. Il est nécessaire d’intégrer les fichiers CSS et JavaScript de manière appropriée afin d’éviter tout conflit avec le thème ou d’autres plugins.

Lectures recommandées Comment choisir et développer des plugins WordPress de haute qualité : Guide de l’initiation à l’expertise

S’inscrire de manière sûre et charger les ressources frontales

WordPress offre…wp_enqueue_styleetwp_enqueue_scriptNous utilisons des fonctions pour ajouter des ressources en toute sécurité. Nous devrions utiliser :wp_enqueue_scriptsDes crochets d’action sont utilisés pour les charger.

/**
 * 注册并加载插件的前端样式和脚本
 */
function mfp_enqueue_public_assets() {
    // 获取插件URL
    $plugin_url = plugin_dir_url( __FILE__ );

// 注册并排队样式表
    wp_enqueue_style(
        'mfp-public-style',
        $plugin_url . 'assets/css/mfp-public.css',
        array(),
        '1.0.0'
    );

// 注册并排队JavaScript文件(示例)
    wp_enqueue_script(
        'mfp-public-script',
        $plugin_url . 'assets/js/mfp-public.js',
        array('jquery'), // 依赖jQuery
        '1.0.0',
        true            // 在页脚加载
    );
}
add_action( 'wp_enqueue_scripts', 'mfp_enqueue_public_assets' );

Vous devez d’abord créer un dossier dans le répertoire des plugins.assets/css/mfp-public.cssNous pouvons ensuite ajouter des styles pour embellir les boîtes de message que nous avons créées précédemment.

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.
/* assets/css/mfp-public.css */
.mfp-notice {
    background-color: #f0f8ff;
    border-left: 4px solid #3498db;
    padding: 15px;
    margin: 20px 0;
    border-radius: 5px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
}
.mfp-notice p {
    margin: 0;
    color: #2c3e50;
}

charger les ressources en arrière-plan

La méthode de registration des ressources en arrière-plan est similaire, mais les hooks utilisés sont différents.admin_enqueue_scriptsVous devez déterminer si la page actuelle est la page de configuration de votre plugin (par exemple, en utilisant des critères spécifiques).get_current_screen()Des fonctions sont utilisées pour charger des ressources de manière sélective, afin d’éviter des coûts de performance inutiles.

résumés

Vous avez suivi le processus complet pour créer votre premier plugin fonctionnel : depuis la définition des informations de base de la tête du plugin, en passant par l’utilisation du puissant système de crochets (actions et filtres) de WordPress pour modifier dynamiquement le contenu et la structure du site web, jusqu’à la gestion professionnelle des ressources de style et de scripts. L’essentiel réside dans la compréhension et la respectation des normes de développement de WordPress : utiliser les crochets plutôt que de modifier directement le code source du logiciel, enregistrer et organiser correctement les ressources, et créer une structure de fichiers claire et bien structurée. C’est tout juste le début dans le monde du développement de plugins. À l’avenir, vous pourrez explorer des concepts plus avancés tels que la création de codes courts (shortcodes), la personnalisation des types d’articles (Custom Post Types – CPT), les interactions avec la base de données, les points d’extrémité API REST, ainsi que l’internationalisation des plugins, afin de rendre votre plugin encore plus robuste et facile à utiliser pour les utilisateurs.

FAQ Foire aux questions

Quelles connaissances préalables sont nécessaires pour développer des plugins pour WordPress ?

Vous devez disposer de compétences de base en programmation PHP, notamment en ce qui concerne la compréhension des fonctions, des instructions conditionnelles, des boucles et des opérations sur les arrays. Il sera également très utile de connaître les langages HTML, CSS et un peu de JavaScript, surtout lorsque vous aurez besoin de modifier l’interface utilisateur (front-end). Le plus important est de comprendre les principes de fonctionnement de WordPress, tels que la hiérarchie des templates, le cycle principal du site et la structure de base de la base de données.

Comment déboguer mon plugin WordPress ?

Activer WordPress…WP_DEBUGLe modèle est la première étape de la débogage. Il se trouve dans le répertoire racine de votre site.wp-config.phpDans le fichier, les paramètres sont définis.define( 'WP_DEBUG', true );Cela affichera les erreurs et les avertissements PHP à l’écran, et les enregistrera également dans un fichier.wp-content/debug.logLe fichier se trouve à l’intérieur du système. De plus, l’utilisation des panneaux “Console” et “Network” des outils de développement du navigateur est très utile pour déboguer les codes JavaScript ainsi que les requêtes Ajax. Pour des logiques complexes, il est possible de recourir à des approches plus avancées.error_log()La fonction ou l’extension de débogage spécialisée affiche les informations des variables dans le journal (le log).

Comment puis-je ajouter des options configurables à mon plugin ?

La méthode standard pour ajouter des options de configuration à un plugin est d’utiliser l’API de configuration de WordPress. Cela implique une série de fonctions :register_setting()Utilisé pour enregistrer un groupe d'options de configuration et le sauvegarder de manière sécurisée dans la base de données.add_settings_section()Ajoutez une nouvelle section sur votre page de paramètres.add_settings_field()Ajoutez des champs de formulaire spécifiques à l’intérieur du bloc (comme des champs de texte, des menus déroulants, etc.). La fonction de rappel (callback) de votre page de configuration doit contenir ces éléments.settings_fields()etdo_settings_sections()L’appel de cette fonction est nécessaire pour générer et valider correctement le formulaire.

Comment m’assurer que mon plugin ne provoque pas de conflits avec d’autres plugins ou thèmes ?

Suivre les meilleures pratiques est la clé pour éviter les conflits. Ajoutez un préfixe unique ou un espace de noms à tous vos fonctions, classes, constantes, noms d’actions/filtres, ainsi qu’aux classes CSS de votre HTML. Par exemple, utilisez…myplugin_function_nameUn nom de fonction de ce type, et pas seulement…function_nameUtiliserwp_enqueue_styleetwp_enqueue_scriptIl faut charger les ressources et s’assurer que les identifiants (handles) des styles et des scripts soient uniques. Lorsque c’est possible, encapsulez votre code dans des classes afin de mieux isoler les variables et les fonctions.

Après le développement, comment publier mon plug-in ?

Si vous souhaitez soumettre un plugin au répertoire officiel des plugins WordPress, vous devez vous assurer qu’il respecte pleinement les normes de codage de WordPress ainsi que la licence GPL. Vous devez vous inscrire sur un compte WordPress.org et soumettre votre plugin pour qu’il soit examiné. L’équipe d’examen vérifiera la sécurité du code, les fonctionnalités du plugin ainsi que la qualité de ses documents. Avant de soumettre votre plugin, veuillez lire attentivement le manuel officiel de développement de plugins et les guides de soumission. Pour les plugins commerciaux, vous pouvez choisir de les distribuer sur votre propre site web ou sur des marchés tiers.