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

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

Préparatifs avant le développement d'un plugin pour WordPress

Avant de commencer à écrire la première ligne de code, une préparation adéquate est la base du succès d’un projet. Cela inclut non seulement la mise en place de l’environnement technique, mais aussi une analyse des besoins claire et une planification détaillée du projet.

Tout d’abord, vous aurez besoin d’un environnement de développement local. Il est recommandé d’utiliser des outils tels que Local by Flywheel, MAMP, XAMPP ou Docker pour mettre en place rapidement un environnement permettant d’exécuter WordPress, avec PHP, MySQL, Apache et Nginx. Assurez-vous que la version de PHP que vous utilisez répond aux dernières exigences officielles de WordPress ; en général, une version PHP 7.4 ou ultérieure est requise.

Deuxièmement, définissez clairement le problème que votre plugin vise à résoudre. Votre objectif est-il d’ajouter une fonctionnalité spécifique à un site web ou d’optimiser un processus existant ? Une description précise du plugin ainsi qu’une liste détaillée de ses fonctionnalités constituent la base pour le développement ultérieur. Il est conseillé d’utiliser des outils tels que Trello ou des documents simples pour planifier les itérations de version et les fonctionnalités à mettre en place.

Lectures recommandées Guide d’introduction au développement de plugins WordPress : de zéro à la publication en ligne, toute la procédure étape par étape.

Enfin, vous aurez besoin d’un éditeur de code ou d’un environnement de développement intégré (IDE). Visual Studio Code, PhpStorm et Sublime Text sont de très bonnes options, car ils offrent un excellent soutien au développement en PHP et pour WordPress, y compris l’highlightage du code, des suggestions et des fonctionnalités de débogage. Une fois que vous aurez tout cela prêt, vous pourrez créer le fichier principal qui constitue la base de votre plugin.

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.

Créez votre premier plugin pour WordPress.

Tout commence par des difficultés, mais créer un fichier de plugin WordPress de base est en réalité très simple. Cette section vous guidera dans la mise en place de la structure de base du plugin, ainsi que dans les étapes relatives à la déclaration de sécurité et à son activation.

Créez un nouveau dossier dont le nom doit être unique et décrire la fonctionnalité du plugin, par exemple :my-first-pluginDans ce dossier, créez le fichier principal du plugin, qui porte généralement le nom…plugin-name.phpIl faut donner un nom à ce fichier. Ce fichier représente le point d’entrée du plugin, et WordPress reconnaît le plugin en lisant des informations spécifiques contenues dans les commentaires en tête de ce fichier.

En haut de ce fichier principal, vous devez ajouter une annotation contenant la tête du plugin, conforme aux normes de WordPress. Voici un exemple de base :

<?php
/**
 * Plugin Name: 我的第一个插件
 * Plugin URI:  https://example.com/my-first-plugin
 * Description: 这是一个用于演示的简单WordPress插件。
 * Version:     1.0.0
 * Author:      你的名字
 * Author URI:  https://yourwebsite.com
 * License:     GPL v2 or later
 * Text Domain: my-first-plugin
 */

Dans cette note, l’information “ Plugin Name ” est obligatoire, tandis que les autres informations sont optionnelles. Il est cependant fortement conseillé de les remplir complètement. Une fois que c’est fait, téléchargez le dossier contenant le plugin dans le répertoire d’installation de WordPress./wp-content/plugins/Le plugin se trouve dans le chemin indiqué. En accédant à la page “ Plugins ” dans l’administration de WordPress, vous pourrez le voir et l’activer. Pour l’instant, il n’a aucune fonctionnalité, mais vous avez réussi à créer un plugin reconnu par WordPress.

Lectures recommandées Le développement de plugins WordPress consiste à passer de zéro à un, pour le système de gestion de contenu le plus populaire au monde.

Réaliser une fonction simple

Ajoutons la première fonction réelle à ce plugin vide : l’ajout automatique d’une déclaration de droits d’auteur en bas du contenu de l’article. Cela vous aidera à comprendre le mécanisme des « hooks » (des fonctions préétablies) de WordPress.

Tout d’abord, nous devons créer une fonction pour mettre en œuvre la logique d’ajout du texte de copyright. Nous allons nommer cette fonction…myplugin_add_footer_text

function myplugin_add_footer_text($content) {
    // 确保只在网站前端的主文章循环中执行
    if (is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query()) {
        $footer_text = '<p><em>Ce texte vous est présenté par mon premier plugin.</em></p>'.
        $content . = $footer_text.
    }
    return $content.
}

Ensuite, nous devons “ monter ” cette fonction à un point d'exécution spécifique de WordPress. Ce processus est appelé “ ajouter un crochet ” (hook). Ici, nous utilisons…the_contentFiltre d’hook : Dans le fichier principal de votre plugin, ajoutez le code suivant :

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%.
add_filter('the_content', 'myplugin_add_footer_text');

Après avoir enregistré le fichier, rafraîchissez la page d’un article sur votre site web et vous verrez que le texte de copyright que vous avez défini apparaît à la fin du contenu. Avec cet exemple simple, vous avez maîtrisé le modèle de base du développement de plugins : créer des fonctions -> les utiliser.add_actionOuadd_filterLes « hooks » permettent d’intégrer des fonctions dans le cycle de vie de WordPress.

En profondeur : Les hooks et l’API de WordPress

Le mécanisme des hooks est l’essence du développement de plugins pour WordPress : il permet à votre code de s’exécuter à des moments ou des endroits précis. Comprendre et maîtriser les hooks est essentiel pour créer des fonctionnalités complexes.

Les hooks de WordPress se divisent principalement en deux catégories : les actions (Actions) et les filtres (Filters). Les hooks d’action sont déclenchés lors de l’occurrence d’événements clés du noyau de WordPress, tels que la publication d’un article ou le chargement de l’interface d’administration. Votre fonction peut alors effectuer des actions spécifiques. Les hooks de filtre, quant à eux, permettent de modifier des données avant qu’elles ne soient utilisées ou enregistrées. Ils vous permettent, par exemple, de modifier le contenu ou le titre d’un article.

Lectures recommandées Du niveau débutant au niveau expert dans le développement de plugins WordPress : apprenez à créer des fonctionnalités personnalisées étape par étape.

Créez une fonction de crochet d'action (action hook function).

function myplugin_log_post_published($ID, $post) {
    // 当文章发布时,在错误日志中记录一条信息(仅用于演示)
    error_log("文章 {$post->post_title} (ID: {$ID}) 已发布。");
}
// 将函数挂载到 `publish_post` 这个动作钩子上
add_action('publish_post', 'myplugin_log_post_published', 10, 2);

Créez une fonction de hook de filtre :

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 myplugin_excerpt_length($length) {
    // 将默认的摘要长度从55个词修改为20个词
    return 20;
}
// 将函数挂载到 `excerpt_length` 这个过滤器钩子上
add_filter('excerpt_length', 'myplugin_excerpt_length');

Lorsque vous utilisez…add_actionOuadd_filterLorsque les paramètres sont utilisés, le troisième et le quatrième représentent respectivement la priorité et le nombre de paramètres. En les configurant de manière appropriée, il est possible de contrôler avec précision l’ordre d’exécution de plusieurs fonctions de rappel (callback functions).

Utiliser les fonctionnalités API de WordPress

Afin que les utilisateurs des plugins puissent personnaliser le comportement de ces derniers, il est nécessaire de créer une page de configuration. WordPress met à disposition une API de configuration pour simplifier ce processus. Cela implique généralement trois fonctions principales :register_settingUtilisé pour enregistrer un ensemble de paramètres/paramètres de configuration.add_settings_sectionUtilisé pour ajouter une zone de configuration sur la page.add_settings_fieldUtilisé pour ajouter des champs spécifiques dans cette zone.

Créez une fonction pour une page d'options :

function myplugin_settings_page() {
    add_options_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限
        'myplugin-settings', // 菜单 Slug
        'myplugin_render_settings_page' // 用于输出页面内容的回调函数
    );
}
add_action('admin_menu', 'myplugin_settings_page');

Ensuite, vous devez mettre cela en œuvre.myplugin_render_settings_pageUne fonction est utilisée pour afficher un formulaire.settings_fieldsetdo_settings_sectionsUne fonction pour afficher les champs de formulaire automatiquement traités par l’API de WordPress.get_optionDans la fonction, vous pouvez facilement obtenir les valeurs des options sauvegardées par l'utilisateur n’importe où dans le code du plugin.

Pratiques avancées de développement de plugins et leur publication

À mesure que les fonctionnalités de votre plugin s’améliorent et que la quantité de code augmente, une bonne organisation du code, des mesures de sécurité efficaces et un soutien à l’internationalisation deviennent essentiels.

Afin de maintenir la clarté du code, il est conseillé de séparer les fonctions différentes dans des fichiers distincts. Par exemple, placez la registration des hooks et les fonctions principales dans le fichier principal, et le code lié aux pages de configuration dans un autre fichier.admin/Dans le sous-dossier, placez le code des fonctionnalités frontales.public/Les sous-dossiers sont utilisés pour organiser le contenu, et les éléments sont chargés en fonction de conditions spécifiques. L’application de la programmation orientée objet (POO) constitue également une excellente pratique pour gérer des plugins complexes, car elle permet de mieux encapsuler les données et les fonctionnalités.

La sécurité est l’élément essentiel dans le développement de plugins. Tous les données recueillies auprès des utilisateurs (comme…)$_GET$_POST$_COOKIETout doit être vérifié et désinfecté. WordPress propose de nombreuses fonctions à cet effet.sanitize_text_fieldwp_kses_postintvalLorsque vous affichez des données dans un navigateur ou une base de données, il est également nécessaire d’effectuer des échappements (escape).esc_htmlesc_attrOuwp_ksesPour les opérations sur la base de données, il est obligatoire d’utiliser les fonctionnalités fournies par WordPress.$wpdbLes classes et leurs…prepareDes méthodes pour prévenir les injections SQL.

Réaliser l'internationalisation des plugins.

Pour que votre plugin puisse être utilisé par des utilisateurs du monde entier, l’internationnalisation est une étape essentielle. Cela implique principalement deux étapes :__()Ou_e()Les fonctions telles que `wait` et `load` encapsulent toutes les chaînes de caractères qui doivent être traduites, ainsi que le chargement correct des zones de texte (text fields).

Dans la partie d’en-tête du plugin, nous avons déjà défini le domaine de texte (Text Domain). Lors de l’initialisation du plugin (généralement dans le fichier principal), il est nécessaire de charger les fichiers linguistiques correspondants.

function myplugin_load_textdomain() {
    load_plugin_textdomain('my-first-plugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('init', 'myplugin_load_textdomain');

Par la suite, vous pourrez utiliser quelque chose de similaire à…__('Hello World', 'my-first-plugin')L’écriture de certaines caractéristiques permet de marquer des chaînes de caractères. Les traducteurs peuvent utiliser des outils tels que Poedit pour effectuer ces modifications, en fonction des résultats générés..potCréation de fichiers de modèle.poet.moTranslatez le fichier et placez-le dans le plugin./languages/Dans le répertoire.

Enfin, une fois que les fonctionnalités du plugin sont stables, vous pouvez choisir de le soumettre au répertoire officiel des plugins de WordPress afin que davantage de personnes puissent l’utiliser. Cela implique de compiler le code du plugin et de rédiger une description détaillée de ses fonctionnalités.readme.txtFichiers, et respectez les normes de développement de la communauté.

résumés

Le développement de plugins pour WordPress est un véritable voyage pratique qui consiste à transformer des idées en fonctionnalités puissantes. Vous commencez par mettre en place l’environnement de développement et créer les fichiers de base du plugin, puis vous approfondissez progressivement dans les mécanismes d’hook ainsi que les API de configuration. Enfin, vous abordez des sujets avancés tels que l’organisation du code, la sécurité et l’internationalisation. L’essentiel de ce processus réside dans la compréhension de l’architecture basée sur des événements de WordPress, qui permet d’étendre les fonctionnalités de base de manière fluide à l’aide des hooks d’actions et de filtres. N’oubliez pas que commencer par une petite fonctionnalité, l’iterer progressivement, et mettre constamment la sécurité du code et l’expérience utilisateur en premier plan, est la clé pour devenir un développeur de plugins reconnu.

FAQ Foire aux questions

Pour développer des plugins pour WordPress, il est nécessaire de maîtriser quelles langages de programmation ?
Pour développer des plugins pour WordPress, il est essentiel de maîtriser le langage PHP, car le noyau de WordPress est lui-même écrit en PHP. Les fonctionnalités frontales impliquent généralement l’utilisation d’HTML, de CSS et de JavaScript. Pour interagir avec la base de données, des connaissances de base en SQL sont également utiles.$wpdbLa classe encapsule la plupart des opérations.

Comment déboguer mon plugin WordPress ?

Pendant la phase de développement, il est conseillé d’activer le mode de débogage de WordPress.wp-config.phpDans le document, il sera indiqué que...WP_DEBUGLa constante est définie àtrueVous pouvez également utiliser…error_log()La fonction enregistre les informations dans le journal d'erreurs du serveur. Pour un débogage plus avancé, des plugins professionnels tels que Xdebug ou Query Monitor peuvent être utilisés pour suivre l'exécution du code et les requêtes sur la base de données.

Comment mon plugin peut-il interagir avec des services ou des API de tiers ?

Les plugins peuvent être intégrés à WordPress via son API HTTP.wp_remote_get()wp_remote_post()Permet une communication sûre et stable avec des services externes. L’API HTTP de WordPress intègre des fonctionnalités telles que le traitement des temps d’attente et la vérification SSL, ce qui la rend plus fiable que l’utilisation directe des fonctions PHP comme curl ou file_get_contents. Lors du traitement des réponses, il est essentiel de vérifier les erreurs et de les gérer de manière appropriée.

Comment puis-je ajouter des tables de base de données personnalisées à mon plugin ?

Bien que la liste des options de WordPress suffise pour gérer la plupart des besoins de stockage des configurations, les données structurées pourraient être mieux stockées dans des tables personnalisées. Vous pouvez utiliser les hooks d’activation des plugins pour mettre en œuvre cela.register_activation_hookL'instruction SQL pour créer la table est exécutée lors de la (régistration de la fonction). Il est obligatoire d'utiliser…$wpdb->prefixAssurez-vous que le préfixe de la table est correct et utilisez-le.dbDeltaDes fonctions sont utilisées pour créer ou mettre à jour la structure des tables de manière sécurisée. Toute requête sur des tables personnalisées doit être effectuée via ces fonctions.$wpdbL’opération est effectuée sur l’objet.

Comment m’assurer que mon plugin est compatible avec d’autres plugins ou thèmes ?

Les meilleures pratiques pour maintenir la compatibilité sont les suivantes : utiliser l’API de base de WordPress et les hooks standard ; ajouter un préfixe unique aux noms des fonctions, des classes et des options (par exemple, en utilisant des abréviations de plugins) ; encapsuler les fonctionnalités dans des classes ou des espaces de noms pour éviter les conflits de nom ; éviter de modifier directement les variables globales ; et vérifier avant d’exécuter des opérations qui pourraient affecter l’état global du site (comme l’enregistrement de raccourcis ou la définition de nouveaux types d’articles) s’il n’existe pas déjà de solution similaire. Avant la publication, effectuez autant de tests que possible dans différents environnements.