Introduction pratique pour les débutants : apprenez à développer des plugins WordPress étape par étape.

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

Environnement de développement de plugins pour WordPress et préparatifs de base

Avant de commencer à écrire du code, vous aurez besoin d’un environnement de développement local adapté. Cela comprend généralement un serveur local (comme XAMPP, MAMP ou Local by Flywheel), un éditeur de code (comme VS Code ou PHPStorm) ainsi qu’une installation de WordPress pour les tests. Vérifiez que la version de PHP que vous utilisez est compatible avec la version recommandée par WordPress.

Le noyau d’un plugin WordPress se trouve dans un fichier situé…/wp-content/plugins/Le dossier se trouve dans le répertoire principal. Le nom de ce dossier correspond à l’identifiant de votre plugin ; il est conseillé d’utiliser des lettres minuscules, des chiffres et des traits d’union. À l’intérieur de ce dossier, il doit exister un fichier PHP principal dont le nom est identique à celui du dossier. Par exemple…my-first-plugin.phpCe fichier est le point d’entrée du plugin et contient ses informations métadonnées.

Créez votre premier fichier de plugin.

Commençons par créer le plugin le plus simple possible : celui qui affichera un message de bienvenue dans l'interface d administration du site web.

Lectures recommandées Analyse approfondie du plug-in WooCommerce : un guide complet, allant de la configuration de base à la personnalisation avancée.

La rédaction des commentaires d'en-tête des plugins.

Chaque plugin WordPress doit commencer par des commentaires d’en-tête spécifiques. WordPress utilise ces informations pour identifier et afficher les plugins. Dans votre dossier de plugins (par exemple…my-first-pluginDans ce document, créez le fichier principal.my-first-plugin.phpEt écrivez le code suivant :

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.
<?php
/**
 * Plugin Name: 我的第一个WordPress插件
 * 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 à la page des “ Plugins ”. Vous devriez voir “ Mon premier plugin WordPress ” dans la liste des plugins. Vous pouvez alors l’activer, même s’il n’a pas encore de fonctionnalités.

Ajouter la première fonctionnalité au plugin

Maintenant, ajoutons une fonction simple à ce plugin : afficher une notification de gestion personnalisée en haut de l’interface d’administration. Nous utiliserons les fonctionnalités intégrées à WordPress.admin_noticesCrochet.

Dans le fichier principalmy-first-plugin.phpEn dessous de l'annotation en tête, ajoutez le code suivant :

// 在管理后台添加一个欢迎提示
function my_first_plugin_admin_notice() {
    ?&gt;
    <div class="notice notice-success is-dismissible">
        <p>Bienvenue à l’utilisation de “ Mon premier plugin WordPress ” ! Vous avez activé ce plugin avec succès.</p>
    </div>
    &lt;?php
}
add_action( &#039;admin_notices&#039;, &#039;my_first_plugin_admin_notice&#039; );

Ce code définit une variable nommée…my_first_plugin_admin_noticeUne fonction qui affiche un segment d’HTML, créant une boîte de message de succès pouvant être fermée.add_action()La fonction permet de “ monter ” (ou d’associer) cette fonction personnalisée à WordPress.admin_noticesCliquez sur ce bouton. Enregistrez le fichier et rafraîchissez l’interface administrative de WordPress, puis vous verrez ce message d’accueil vert en haut de la page.

Lectures recommandées Tutoriel pratique pour la création d'un site web : processus de développement complet, de zéro à la mise en ligne, et guide de sélection de la technologie appropriée.

Comprendre le mécanisme fondamental des plugins WordPress : les hooks et les filtres

Le cœur du développement de plugins pour WordPress réside dans l’interaction avec le noyau de WordPress, ce qui se réalise principalement grâce au mécanisme des “ hooks ”. Il existe deux types de hooks : les actions (actions) et les filtres (filters).

L'utilisation des crochets d'action.

Les « action hooks » vous permettent d’insérer du code personnalisé à des moments précis de l’exécution de WordPress, tout comme nous l’avons justement fait.admin_noticesUn autre exemple courant est…initUn hook, qui est déclenché lors de l'initialisation de WordPress, est souvent utilisé pour enregistrer des types d'articles ou des taxonomies personnalisés.

Par exemple, nous pouvons définir une valeur d’option lors de l’initialisation du plugin :

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_set_default_option() {
    // 如果选项不存在,则添加它
    if ( false === get_option( 'my_first_plugin_greeting' ) ) {
        add_option( 'my_first_plugin_greeting', 'Hello from my plugin!' );
    }
}
add_action( 'init', 'my_first_plugin_set_default_option' );

L'utilisation des filtres hook.

Les crochets de filtre vous permettent de modifier les données transmises au cours du processus. Par exemple,the_contentLes filtres vous permettent de modifier la manière dont le contenu principal des articles est affiché. Nous pouvons les utiliser pour ajouter automatiquement une information sur les droits d’auteur à la fin de chaque article.

function my_first_plugin_add_copyright( $content ) {
    // 仅对主循环中的单篇文章生效
    if ( is_single() &amp;&amp; in_the_loop() &amp;&amp; is_main_query() ) {
        $copyright = '<p><em>Ce texte est protégé par le droit d’auteur. Veuillez indiquer la source lors de toute reproduction.</em></p>';
        $content .= $copyright;
    }
    return $content;
}
add_filter( 'the_content', 'my_first_plugin_add_copyright' );

Dans cet exemple, la fonction…my_first_plugin_add_copyrightRecevoir l’original.$contentAprès une vérification des conditions (pour s’assurer que cela n’ait effet que sur la page d’un seul article), un fragment d’HTML a été ajouté à la fin de celui-ci. Enfin, il est nécessaire de sauvegarder la version modifiée du contenu.$contentRetourner.

Construire des plugins plus complexes : des codes courts et des pages de configuration

Un plugin complet doit généralement fournir des fonctionnalités d’interaction avec l’interface utilisateur (comme des codes courts) ainsi que des outils de configuration côté serveur (comme la possibilité de modifier des pages).

Lectures recommandées Un outil puissant pour l’optimisation des moteurs de recherche : élaborer une stratégie de référencement pour un site WordPress à partir de zéro.

Créer des raccourcis personnalisés

Les codes courts permettent aux utilisateurs d’accéder à des fonctionnalités spécifiques à l’aide de tags simples (comme…)[my_greeting]Insérer des fonctionnalités de plugins dans un article ou une page. Pour enregistrer un code court à utiliser, suivez les instructions correspondantes.add_shortcode()Une fonction.

// 注册一个简单的问候短代码
function my_first_plugin_greeting_shortcode( $atts ) {
    // 使用 shortcode_atts 定义默认属性并合并用户输入
    $attributes = shortcode_atts( array(
        'name' =&gt; '访客',
    ), $atts );

// 获取我们之前设置的选项
    $greeting_text = get_option( 'my_first_plugin_greeting', 'Hello' );

// 生成输出
    $output = '<div class="my-plugin-greeting">';
    $output .= esc_html( $greeting_text ) . ', ' . esc_html( $attributes['name'] ) . '!';
    $output .= '</div>';

return $output;
}
add_shortcode( 'my_greeting', 'my_first_plugin_greeting_shortcode' );

Maintenant, les utilisateurs peuvent saisir des données dans l’éditeur.[my_greeting name="张三"]L'interface utilisateur affichera alors “ Hello from my plugin !, Zhang San ! ”.

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.

Page de configuration des plugins

Afin que les utilisateurs puissent personnaliser leurs salutations, nous devons ajouter une page de paramétrage dans l'administration. Cela implique l'ajout d'une page de menu principal ou d'un sous-menu, ainsi que la gestion de l'enregistrement des options saisies dans les formulaires.

// 在后台“设置”菜单下添加子菜单页
function my_first_plugin_add_settings_page() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的第一个插件',        // 菜单标题
        'manage_options',       // 所需权限
        'my-first-plugin',      // 菜单slug
        'my_first_plugin_render_settings_page' // 回调函数,用于输出页面内容
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_settings_page' );

// 渲染设置页面的HTML
function my_first_plugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Les premières configurations de mon plugin</h1>
        <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_register_settings() {
    register_setting(
        &#039;my_first_plugin_settings_group&#039;, // 设置组名
        &#039;my_first_plugin_greeting&#039;        // 选项名
    );

add_settings_section(
        &#039;my_first_plugin_main_section&#039;,    // 区域ID
        &#039;问候语设置&#039;,                     // 区域标题
        null,                            // 区域回调函数(可为空)
        &#039;my-first-plugin&#039;                // 页面slug
    );

add_settings_field(
        &#039;greeting_text_field&#039;,            // 字段ID
        &#039;问候语文本&#039;,                     // 字段标题
        &#039;my_first_plugin_greeting_field_callback&#039;, // 字段HTML的回调函数
        &#039;my-first-plugin&#039;,                // 页面slug
        &#039;my_first_plugin_main_section&#039;    // 所属区域ID
    );
}
add_action( &#039;admin_init&#039;, &#039;my_first_plugin_register_settings&#039; );

// 渲染问候语输入字段
function my_first_plugin_greeting_field_callback() {
    $greeting = get_option( &#039;my_first_plugin_greeting&#039; );
    echo &#039;<input type="text" name="my_first_plugin_greeting" value="' . esc_attr( $greeting ) . '" class="regular-text" />';
}

Ce code crée une page de paramétrage standard pour WordPress. Lorsque l'utilisateur modifie le message de salutation sur cette page et enregistre les changements, les anciens codes courts créés utiliseront alors le nouveau texte de salutation.

résumés

À travers ce tutoriel, nous avons créé depuis zéro un plugin WordPress doté de fonctionnalités de base. Vous avez appris à mettre en place la structure des fichiers d’un plugin, à écrire les informations de tête du plugin, à utiliser des hooks d’action pour afficher des notifications en arrière-plan, à modifier le contenu à l’aide de filtres, à créer des codes courts que les utilisateurs peuvent appeler depuis l’interface utilisateur, ainsi qu’à concevoir une page de paramétrage complète pour gérer les options du plugin. Ce sont les compétences les plus essentielles et les plus fondamentales pour le développement de plugins WordPress. Une fois que vous maîtriserez ces concepts, vous pourrez vous référer au manuel officiel de WordPress et approfondir votre connaissance des API, telles que les tables de base de données personnalisées, les points d’extrémité REST API et le traitement AJAX, afin de développer des plugins plus puissants et plus professionnels.

FAQ Foire aux questions

Quelles connaissances en langages de programmation sont nécessaires pour développer des plugins WordPress avec le code #### ?

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. De plus, il vous faut être familier avec HTML, CSS et le JavaScript de base, afin de créer l’interface utilisateur et la logique d’interaction du plugin. Une connaissance de base de SQL est également utile pour gérer des opérations de données plus complexes.

Comment déboguer mon plugin WordPress ?

Tout d’abord, assurez-vous que…wp-config.phpActiver dans le fichier.WP_DEBUGCe mode affiche les erreurs et les avertissements de PHP à l’écran. De plus, il est possible de l’utiliser…error_log()La fonction écrit les informations de débogage dans le journal d'erreurs du serveur. Pour un débogage plus avancé, vous pouvez envisager d'utiliser des outils de débogage PHP spécialisés, tels que Xdebug, ou d'installer des plugins de débogage pour WordPress afin d'aider à identifier les problèmes.

Comment publier le plug-in que j'ai développé dans le répertoire officiel des plug-ins de WordPress ?

Vous devez vous rendre sur WordPress.org et créer un compte de développeur. Ensuite, utilisez l’outil Subversion (SVN) pour soumettre le code de votre plugin au répertoire de code qui vous aura été attribué par l’administration de WordPress. Votre plugin doit respecter la licence GPL, et la qualité du code, sa sécurité ainsi que la documentation doivent répondre à des critères d’audit spécifiques. Une fois l’audit réussi, votre plugin sera ajouté au catalogue officiel de WordPress pour être téléchargé par les utilisateurs.

Comment charger correctement les fichiers CSS et JavaScript frontaux des plugins ?

Afin d’éviter les conflits et de garantir de bonnes performances, il ne faut pas introduire directement les ressources dans les fichiers de templates. La méthode correcte consiste à utiliser…wp_enqueue_style()etwp_enqueue_script()Pour les ressources du back-end de gestion, elles doivent être montées (c’est-à-dire liées) de manière appropriée au système.admin_enqueue_scriptsUn « crochet » (hook) ; pour les ressources du côté client d’un site web, elles doivent être montées (métabolisées) de manière appropriée pour être utilisées par le système.wp_enqueue_scriptsDes « crochets » (hooks) sont utilisés pour garantir que les dépendances soient correctement gérées et que le même fichier ne soit pas chargé plusieurs fois.