De l’initiation à la maîtrise : Guide complet sur le développement de plugins pour WordPress

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

Base de la développement d’extensions pour WordPress et mise en place de l’environnement de développement

Pour commencer le développement de plugins pour WordPress, il est nécessaire de comprendre ses concepts fondamentaux et de mettre en place un environnement de développement standardisé. Un plugin WordPress est essentiellement constitué d’un ou plusieurs fichiers PHP, qui sont stockés dans un répertoire spécifique du système de gestion de contenu./wp-content/plugins/Dans le répertoire, l’existence de ce fichier est signalée à WordPress grâce à un en-tête spécifique (Plugin Header). Il ne s’agit pas seulement de code, mais aussi de la manière de respecter la philosophie de conception de WordPress, afin que ce fichier puisse s’intégrer sans problème au noyau du système ainsi qu’aux autres plugins.

L’environnement de développement est le point de départ pour un travail efficace. Il est fortement conseillé de configurer une installation indépendante de WordPress sur votre ordinateur local, plutôt que de développer sur un site en production en ligne. Vous pouvez utiliser des suites de serveurs locaux telles que MAMP ou XAMPP, ou des outils plus modernes comme Local by Flywheel ou Docker. L’installation d’un éditeur de code ou d’un environnement de développement intégré (IDE), comme Visual Studio Code ou PHPStorm, est également essentielle ; ces outils offrent de la mise en évidence du code, des suggestions et des fonctionnalités de débogage, ce qui améliore considérablement l’efficacité du développement.

Les étapes pour créer un nouveau plugin sont très simples. Veuillez accéder à…/wp-content/plugins/Créez un nouveau dossier. Il est préférable d’utiliser uniquement des lettres minuscules et des traits d’union pour nommer ce dossier, par exemple :my-first-pluginEnsuite, créez le fichier PHP principal dans ce dossier, qui porte généralement le même nom que le dossier lui-même, par exemple…my-first-plugin.phpLe début de ce fichier doit contenir un bloc de commentaires spécifique (en-tête du fichier), qui constitue l“” identifiant » de l’extension.

Lectures recommandées De zéro à un : guide complet et tutoriel pratique pour le développement de plugins 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
 */

Après avoir enregistré le fichier, connectez-vous à l’administration de votre WordPress et allez dans le menu “ Plugins ”. Vous devriez voir ce nouveau plugin dans la liste des plugins disponibles, et vous pourrez l’activer ou le désactiver. À ce stade, l’environnement de développement de base ainsi qu’un cadre pour la création de plugins sont prêts à l’emploi.

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.

Structure des fichiers d’extension et composants principaux

Un projet de plugin bien structuré et bien organisé est la base de sa maintenance à long terme. En plus du fichier principal qui contient les en-têtes des fichiers, un plugin complet comprend généralement plusieurs composants.

Fichier du plugin principal (par exemple)my-first-plugin.phpC’est le point d’entrée du plugin, qui est généralement chargé de charger d’autres fichiers, de définir des constantes globales, d’enregistrer des « hooks » (des fonctions d’interception) et d’effectuer d’autres tâches d’initialisation. À mesure que le nombre de fonctionnalités augmente, le code ne devrait pas être entièrement regroupé dans le fichier principal. Il est conseillé de modulariser le code selon ses fonctionnalités et de le stocker dans des sous-dossiers distincts. Par exemple…/includes/Le répertoire contient les classes et les fichiers de fonctions relatives aux fonctionnalités essentielles du système./admin/Le répertoire contient le code et les pages liés à la gestion administrative en arrière-plan./public/Ou/frontend/Le répertoire contient la logique de présentation à l'utilisateur./assets/Le répertoire contient des ressources statiques telles que le JavaScript, le CSS et les images.

Le moteur principal des plugins WordPress est le système des “ hooks ” (crochets), qui se divise en deux types : les actions (Actions) et les filtres (Filters). Les hooks d'action exécutent vos fonctions personnalisées lors de l’occurrence d’événements spécifiques, ce qui vous permet de “ faire quelque chose ”, par exemple…initwp_headOusave_postLes crochets de filtre sont utilisés pour “ modifier des données ”. Ils vous permettent de modifier ces données avant qu’elles ne soient utilisées, par exemple…the_contentwp_titleOuexcerpt_length

Une étape clé dans le développement d’un plugin est l’enregistrement et la rédaction des fonctions qui gèrent les « hooks » (des points de liaison permettant d’interagir avec d’autres fonctionnalités du système). Cela se fait généralement dans le fichier principal du plugin. Vous devez utiliser…add_action()Ouadd_filter()Une fonction est utilisée pour indiquer à WordPress quelle de vos fonctions doit être appelée lorsque un certain événement (ou « crochet ») est déclenché.

Lectures recommandées Le guide ultime du développement d’extensions pour WooCommerce : de la découverte à la maîtrise de la création de plugins e-commerce personnalisés.

// 添加一个动作钩子,在文章内容后追加一段文字
function mfp_add_text_to_content( $content ) {
    // 仅对主循环中的文章内容生效
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $custom_text = '<p><em>Ce texte a été ajouté par “ Mon premier plugin ”.</em></p>';
        $content .= $custom_text;
    }
    return $content;
}
// 使用 add_filter 将我们的函数挂载到 ‘the_content‘ 过滤器上
add_filter( 'the_content', 'mfp_add_text_to_content' );

Créer la page des options de configuration pour le backend du plugin.

Fournir une page de configuration pour votre plugin est essentiel pour créer un outil facile à utiliser pour les utilisateurs. Cela permet aux administrateurs de site de modifier le comportement ou les paramètres du plugin sans avoir à modifier le code source.

WordPress propose de nombreuses fonctions pour créer des pages de gestion de différents niveaux. La plus courante d’entre elles est…add_menu_page()La fonction permet d'ajouter un élément de menu de niveau supérieur ainsi que sa page dans le côté bar de gestion, ou de l'utiliser comme il le souhaite.add_submenu_page()Ajouter des sous-pageaux sous les menus principaux existants (tels que “ Paramètres ” ou “ Outils ”).

L’essence de la page des options en arrière-plan réside dans l’interaction avec les données saisies par l’utilisateur. Généralement, cette page est composée d’un formulaire. Une fois que les données du formulaire sont soumises, l’extension doit les recevoir de manière sécurisée, les vérifier et les enregistrer dans la base de données. WordPress recommande d’utiliser…options L’API est conçue pour gérer ce type de données, et elle offre les fonctionnalités nécessaires pour le faire.register_setting()add_settings_section()etadd_settings_field()Des fonctions telles que celles-ci permettent de gérer automatiquement les vérifications de sécurité (contrôle des Nonces, vérification des autorisations, etc.) ainsi que le stockage des données, ce qui simplifie considérablement les processus.

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

Voici un exemple de cadre permettant de créer une page de paramétrage simple :

// 步骤1: 在后台菜单注册一个选项页面
function mfp_register_options_page() {
    add_options_page(
        '我的插件设置',       // 页面标题
        '我的插件',           // 菜单标题
        'manage_options',    // 权限要求
        'mfp-options',       // 页面slug
        'mfp_options_page_html' // 用于输出页面HTML的回调函数
    );
}
add_action('admin_menu', 'mfp_register_options_page');

// 步骤2: 定义输出页面HTML的回调函数
function mfp_options_page_html() {
    // 权限检查
    if (!current_user_can('manage_options')) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1>&lt;?php echo esc_html(get_admin_page_title()) ; ? &lt;?php echo esc_html(get_admin_page_title() ; ?</h1>
        <form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            settings_fields('mfp_options_group'); // 输出安全字段
            do_settings_sections('mfp-options');  // 输出设置区域
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    'mfp_custom_message']
    );
}
add_action('admin_init', 'mfp_settings_init');

// 步骤4: 定义字段HTML的回调
function mfp_field_message_html() {
    $value = get_option('mfp_custom_message', '默认消息');
    ?&gt;
    <input type='text' id='mfp_custom_message' name='mfp_custom_message' value='<?php echo esc_attr($value); ?>' class='regular-text'>
    &lt;?php
}

La sécurité des plugins et les meilleures pratiques.

Publier un plugin ne consiste pas seulement à mettre en œuvre des fonctionnalités, mais aussi à s’assurer de sa sécurité, de sa stabilité et de sa compatibilité. Respecter les normes de codage sécurisé est la première étape pour protéger vous-même ainsi que les sites web des utilisateurs.

Tout d’abord, tous les données reçues des utilisateurs ou de tiers doivent être considérées comme non fiables. Cela signifie qu’avant de les afficher dans le navigateur (HTML, JavaScript), de les utiliser pour des requêtes de base de données ou des opérations sur le système de fichiers, il est nécessaire de procéder à des échappements, des vérifications et à des traitements de sécurité appropriés. WordPress met à disposition de nombreuses fonctions de sécurité pour cela.esc_html()esc_attr()esc_url()Utilisé pour l’affichage des caractères échappés.sanitize_text_field()sanitize_email()Utilisé pour saisir des informations relatives à la désinfection.wp_kses()Utilisé pour filtrer les balises HTML autorisées.

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

Deuxièmement, lors du traitement des soumissions de formulaires ou des demandes AJAX, il est indispensable d’utiliser le mécanisme de nonces (Nonce) fourni par WordPress pour empêcher les attaques de type Cross-Site Request Forgery (CSRF).current_user_can()La fonction effectue des vérifications de droits strictes.

Les interactions avec la base de données devraient autant que possible utiliser les classes de gestion de la base de données fournies par WordPress.$wpdbIl est conseillé d’utiliser la méthode `prepare` pour toutes les variables présentes dans les requêtes SQL, afin de prévenir les injections SQL.

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.
global $wpdb;
$user_input = $_POST['search'];
$safe_input = $wpdb->esc_like($user_input); // 转义LIKE语句中的特殊字符
$prepared_sql = $wpdb->prepare(
    "SELECT * FROM {$wpdb->posts} WHERE post_title LIKE %s",
    '%' . $safe_input . '%'
);
$results = $wpdb->get_results($prepared_sql);

En ce qui concerne les bonnes pratiques, il est recommandé d’ajouter un préfixe unique aux noms des fonctions, des classes et des options des plugins (par exemple…).mfp_Cela permet d’éviter les conflits de noms avec le thème, d’autres plugins ou le noyau de WordPress. Une utilisation judicieuse de la programmation orientée objet (POO) permet de mieux organiser le code, d’assurer l’encapsulation et le réutilisabilité des fonctionnalités. De plus, il est important de prendre en compte l’internationalisation des plugins.__()_e()Les fonctions telles que `wrap` enveloppent toutes les chaînes de caractères visibles par l'utilisateur et s’occupent également des hooks (des mécanismes d’interaction supplémentaires).plugins_loadedCréez une fonction d’initialisation pour un champ de texte chargable, ce qui vous permettra de traduire facilement le plugin dans d’autres langues par la suite.

résumés

Le développement de plugins pour WordPress est un processus qui consiste à transformer des idées en fonctionnalités réutilisables. Il exige que les développeurs maîtrisent non seulement PHP, mais aussi la structure de base de WordPress, en particulier son puissant système de hooks. Tout commence par la création d’un dossier contenant le plugin et d’un fichier de déclaration, puis se poursuit par l’utilisation habile des hooks d’actions et de filtres pour étendre les fonctionnalités du plugin, jusqu’à la création d’une interface de gestion utilisateur intuitive. Chaque étape est essentielle pour construire un plugin efficace et fiable.

Plus important encore, tout au long du cycle de développement, la sécurité doit être placée en premier plan, en suivant des principes de sécurité tels que la validation des données, l’échappement des données affichées, le contrôle des autorisations et la protection contre les injections SQL. L’adoption de bonnes pratiques telles qu’une structure de fichiers modulaire, des normes de nommage claires et une préparation à l’internationalisation permet de garantir la maintenance, l’extensibilité et la qualité professionnelle du code des plugins.

FAQ Foire aux questions

Quelles connaissances préalables sont nécessaires pour développer un plugin WordPress avec le code ### ?
Pour développer des plugins pour WordPress, il est nécessaire de maîtriser les bases du langage de programmation PHP, car le code des plugins est principalement écrit en PHP. Il est également essentiel de connaître les langages HTML, CSS et JavaScript pour créer des interfaces interactives entre le côté client et le côté serveur. Le plus important est de se familiariser avec les concepts fondamentaux de WordPress, tels que les « hooks » (points d'ancrage dans le code), les « shortcodes » (descriptions de fonctions simplifiées), les types d'articles personnalisés (Custom Post Types) et l'API des options (Options API), qui permettent aux plugins de communiquer avec le système WordPress.

Comment déboguer le code de mon plugin WordPress ?

Le débogage est une étape clé du processus de développement. Il est conseillé de commencer par utiliser l'environnement de développement local.wp-config.phpActiver dans le fichier.WP_DEBUGCe mode permet d'afficher les erreurs, les avertissements et les notifications de PHP. Il est également possible d'installer et de configurer des plugins de débogage spécialisés, tels que Query Monitor ou Debug Bar, qui fournissent des informations détaillées sur les requêtes de base de données, l'exécution des fonctions, ainsi que des analyses de performance. Pour les problèmes logiques complexes, des débogueurs professionnels comme Xdebug peuvent être utilisés en conjonction avec un IDE pour effectuer des débogages par points d'arrêt. De plus, l'examen des journaux d'erreurs de WordPress et de PHP constitue une méthode efficace pour localiser les problèmes.

Après avoir développé un plugin, comment le distribuer ou le mettre en ligne ?

Les plugins destinés à un usage personnel ou à une distribution sur une petite échelle peuvent être directement compressés en un fichier ZIP et téléchargés via l’administration de WordPress pour être installés. Si vous souhaitez soumettre votre plugin au répertoire officiel de plugins WordPress afin qu’il soit accessible et téléchargeable par des utilisateurs du monde entier, vous devez vous rendre sur WordPress.org, créer un compte de développeur et soumettre le code de votre plugin pour qu’il soit examiné. Le processus d’examen vérifie la qualité du code, sa sécurité ainsi que sa conformité aux directives du répertoire. Une fois l’approbation obtenue, vous recevrez un répertoire SVN permettant de gérer et de mettre à jour les versions de votre plugin.

Comment m’assurer que mon plugin est compatible avec différentes versions de WordPress ?

Afin d’assurer la plus grande compatibilité possible, les développeurs doivent se référer aux exigences minimales concernant la version de PHP publiées par WordPress officiellement, et s’efforcer de suivre les caractéristiques syntaxiques de PHP plus anciennes dans le code de leurs plugins (tout en utilisant les fonctionnalités modernes de PHP pour une transition progressive et souple). Dans la partie en tête du fichier principal du plugin, il est possible d’utiliser…Requires at least:etTested up to:Les déclarations de compatibilité avec les différentes versions du noyau de WordPress sont essentielles. Il est indispensable de tester régulièrement des versions différentes du noyau de WordPress ainsi que des environnements PHP. L’utilisation d’un système de contrôle de version (comme Git) pour gérer les modifications du code vous permet de suivre facilement les problèmes apparus suite à une mise à jour et de les corriger.