Guide d’introduction au développement de plugins WordPress : créer votre première extension fonctionnelle à partir de zéro.

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

Préparation et aménagement de l'environnement.

Avant de commencer à coder, vous avez besoin d’un environnement de développement approprié. Cela inclut une installation locale de WordPress et un éditeur de code. Il est recommandé d’utiliser XAMPP, Local by Flywheel ou Docker pour configurer un environnement de serveur local. Assurez-vous que votre version de WordPress est à jour afin d’utiliser les dernières API et fonctions de sécurité.

Vous devez comprendre la structure de base des plugins WordPress. Un plugin minimal nécessite au moins un fichier principal, qui est un fichier PHP avec des commentaires d'en-tête spécifiques. Le nom de ce fichier est généralement your-plugin-name.phpIl indique à WordPress qu'il s'agit d'un plugin et fournit des informations telles que le nom, la description, la version et l'auteur.

Dans l'éditeur de code, créez un nouveau dossier pour votre projet de plug-in, par exemple. my-first-pluginDans ce dossier, créez le fichier PHP principal.

Lectures recommandées Partir de zéro : guide ultime et tutoriel pratique pour le développement de plugins WordPress.

Créez votre premier fichier de plugin.

Maintenant, passons à la création du fichier principal du plug-in. Ce fichier sert de point d’entrée pour le plug-in et annonce son existence à WordPress via un bloc de commentaires en haut.

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.

Écrire les informations d'en-tête du plug-in.

Dans le fichier PHP que vous venez de créer, vous devez ajouter l'en-tête standard des fichiers de plug-in. Par exemple, un plug-in nommé “ Salutations du site ” pourrait commencer comme ceci :

<?php
/**
 * Plugin Name:       站点问候语
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       一个简单的插件,用于在网站前台显示自定义问候语。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

WordPress va scanner. wp-content/plugins Tous les fichiers PHP situés dans le répertoire lisent ces informations de commentaires spécifiques et les affichent dans la page de gestion des plugins en arrière-plan. Parmi ceux-ci : Text Domain Pour l'internationalisation,Domain Path La position du fichier de langue a été spécifiée.

Implémenter le code des fonctionnalités principales.

En dessous des informations d’en-tête, vous pouvez commencer à écrire le code fonctionnel du plug-in. Prenons un exemple simple : afficher un message de bienvenue dans le coin supérieur gauche de la page du site Web. Pour éviter de modifier directement les fichiers du thème, nous allons utiliser le système de hooks de WordPress.

Tout d'abord, nous devons créer une fonction pour afficher un message de salutation. Ensuite, utilisez-la. add_action La fonction va lier cette sortie à une action d'exécution de WordPress, par exemple. wp_footer

Lectures recommandées Guichet unique pour le développement de plugins WordPress : de zéro à la publication en production.

// 定义一个函数来输出问候语
function my_first_plugin_display_greeting() {
    echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">Bonjour, et bienvenue sur mon site !</p>';
}

// 使用 add_action 钩子将函数挂载到 wp_footer 动作
add_action( 'wp_footer', 'my_first_plugin_display_greeting' );

Après avoir complété le code ci-dessus, placez ce dossier de plugins (par exemple…) dans l'emplacement approprié de votre système. my-first-pluginCopiez-le entièrement dans le répertoire d'installation de WordPress. wp-content/plugins/ Ensuite, connectez-vous à l’interface d’administration de WordPress et accédez au menu “ Plugins ”. Vous devriez voir le plugin “ Salutation du site ” ; cliquez sur “ Activer ”. Maintenant, lorsque vous visitez la page d’accueil de votre site, vous verrez la salutation personnalisée en bas de la page.

Ajouter des options de gestion pour le plugin.

Un plugin fonctionnel nécessite généralement une page de configuration permettant aux administrateurs de procéder aux réglages dans l’interface d’administration de WordPress. Cela implique la création d’un menu d’administration et la gestion de la logique des options.

Créer une page de paramètres pour le plug-in.

WordPress fournit des fonctions pour ajouter des pages de paramètres aux plugins. En général, nous utilisons : add_options_page Ou add_menu_page La fonction waitForVisibility ajoute cette page au menu d’arrière-plan. L'exemple ci-dessous montre comment ajouter une sous-page de réglages simple sous le menu principal “ Réglages ”.

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

Tout d'abord, créez une fonction pour rendre le contenu HTML de la page des paramètres.

// 渲染插件设置页面的函数
function my_first_plugin_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Configurez le message d'accueil du site.</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
}

Ensuite, utilisez… add_action Le crochet est dans... admin_menu Ensuite, vous devez vous inscrire sur cette page.

// 将设置页面添加到后台菜单
function my_first_plugin_add_admin_menu() {
    add_options_page(
        '问候语设置',          // 页面标题
        '站点问候语',          // 菜单标题
        'manage_options',      // 权限要求
        'my-first-plugin',     // 菜单别名
        'my_first_plugin_settings_page' // 渲染函数
    );
}
add_action( 'admin_menu', 'my_first_plugin_add_admin_menu' );

Champs de configuration de l’enregistrement et sauvegarde des données

Une simple page ne suffit pas. Nous devons définir des champs de paramètres spécifiques (tels que des champs de saisie et des listes déroulantes) et gérer le stockage des données. Pour cela, nous allons utiliser l'API de paramètres de WordPress. register_settingadd_settings_section et add_settings_field et d'autres fonctions.

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

Le code suivant enregistre un groupe de paramètres et un champ de texte, permettant aux utilisateurs de personnaliser le contenu de leur message d'accueil.

// 初始化插件的设置
function my_first_plugin_settings_init() {
    // 注册一个设置,将其保存到 `options` 表的 `my_first_plugin_greeting_text` 字段中
    register_setting( 'my_first_plugin_settings_group', 'my_first_plugin_greeting_text' );

// 在页面中添加一个设置区域
    add_settings_section(
        'my_first_plugin_section',
        '自定义问候语',
        null,
        'my-first-plugin'
    );

// 在设置区域中添加一个文本字段
    add_settings_field(
        'my_first_plugin_field',
        '问候语文本',
        'my_first_plugin_field_render',
        'my-first-plugin',
        'my_first_plugin_section'
    );
}
add_action( 'admin_init', 'my_first_plugin_settings_init' );

// 渲染文本输入框的函数
function my_first_plugin_field_render() {
    $option = get_option( 'my_first_plugin_greeting_text', '你好,欢迎来到我的网站!' );
    echo '<input type="text" name="my_first_plugin_greeting_text" value="' . esc_attr( $option ) . '" style="width: 300px;" />';
}

Enfin, nous devons modifier la fonction qui affichait précédemment le message d'accueil, afin qu'elle puisse lire les paramètres enregistrés par l'utilisateur dans la base de données.

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.
fonction my_first_plugin_display_greeting() {
    $greeting_text = get_option( 'my_first_plugin_greeting_text', 'Bonjour, bienvenue sur mon site !' );
    echo '<p style="position: fixed; bottom: 10px; left: 10px; background: #f1f1f1; padding: 10px; border-radius: 5px;">'`. esc_html($greeting_text)`.'</p>';
}

Sécurité des plugins et bonnes pratiques

Lors du développement d’un plug-in, la sécurité est la principale considération. Un code non sécurisé peut entraîner une attaque contre le site Web. Voici quelques règles de sécurité fondamentales.

La validation et le nettoyage des données.

Chaque fois que vous récupérez des données saisies par un utilisateur (par exemple, $_POST, $_GET) ou de la base de données, vous devez supposer qu’elles ne sont pas fiables. Elles doivent être validées et nettoyées avant d’être affichées dans le navigateur ou enregistrées dans la base de données.

Pour le contenu affiché sur une page HTML, utilisez <. esc_html()esc_attr() Ou wp_kses_post() Il est nécessaire d'échapper les fonctions afin d'empêcher les attaques par script inter-sites.
Pour les variables utilisées dans les requêtes de base de données, il conviendra d’utiliser des instructions précompilées ou des outils similaires. $wpdb->prepare() Une telle méthode.

Dans notre exemple, lorsque vous enregistrez les paramètres, WordPress va : register_setting La fonction effectue automatiquement quelques nettoyages de base. Lors de l’affichage des résultats, nous avons utilisé… esc_html() Pour s'assurer que les balises HTML du texte de la salutation sont correctement converties en texte ordinaire.

Utiliser des mécanismes autres que ceux basés sur le protocole CE pour les vérifications d’autorisation.

Lors du traitement des soumissions de formulaires provenant de la page d’administration, il est nécessaire de vérifier la légitimité de la requête. Cela implique de vérifier les autorisations de l’utilisateur et de valider le nombre aléatoire.

Dans le formulaire de la page de configuration,settings_fields() La fonction inclut déjà la vérification non CE (Common European Certification). Cependant, si vous avez créé des traitements AJAX personnalisés ou des formulaires non standard, vous devez effectuer la vérification manuellement. Cela se fait généralement en utilisant des méthodes appropriées pour vérifier les données reçues. current_user_can() Vérifiez les autorisations et utilisez-les. check_admin_referer() Ou wp_verify_nonce() Vérifiez le nombre aléatoire.

Par exemple, dans une fonction de traitement de soumission personnalisée :

function my_plugin_handle_form_submit() {
    // 检查权限
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( '权限不足' );
    }
    // 验证随机数
    if ( ! isset( $_POST['my_nonce_field'] ) || ! wp_verify_nonce( $_POST['my_nonce_field'], 'my_action' ) ) {
        wp_die( '安全校验失败' );
    }
    // ... 处理安全的数据 ...
}

résumés

Grâce à ce guide, vous avez terminé le processus complet de développement d’un plugin WordPress avec des fonctionnalités d’administration backend, à partir d’un simple fichier PHP. Vous avez appris la structure de base d’un plugin, comment utiliser les hooks d’actions pour ajouter des fonctionnalités, comment créer des pages d’options configurables en utilisant l’API des paramètres WordPress, ainsi que des pratiques de sécurité essentielles. Rappelez-vous qu’un bon plugin doit non seulement être puissant, mais aussi avoir un code clair, sécurisé et fiable, tout en respectant les normes de codage de WordPress. À partir de ce petit plugin, vous pouvez continuer à explorer des fonctionnalités plus avancées telles que les shortcodes, les widgets et les types d’articles personnalisés, et construire progressivement des extensions plus complexes.

FAQ Foire aux questions

Comment ajouter un support multilingue à un plug-in ?

Pour ajouter la prise en charge de l’internationalisation (i18n) à un plug-in, il faut principalement utiliser des champs de texte et des fonctions de traduction. Tout d’abord, assurez-vous que cela est correctement configuré dans l’en-tête du fichier du plug-in. Text Domain et Domain PathDans le code, utilisez < pour marquer tous les chaînes de caractères qui doivent être traduites. __() Ou _e() Ensuite, utilisez des outils tels que Poedit pour créer un fichier modèle POT et générer les fichiers de traduction .mo et .po correspondants, puis placez-les dans le répertoire linguistique spécifié par le plug-in.

Exemple :echo esc_html( __( ‘Hello, World!’, ‘my-first-plugin’ ) );Lorsque l'utilisateur passe à la langue correspondante, WordPress charge automatiquement le fichier de traduction approprié.

Comment éviter que les noms de fonctions d’un plug-in entrent en conflit avec ceux d’autres plug-ins ?

La meilleure pratique pour éviter les conflits de noms de fonctions est d’utiliser des espaces de noms (PHP 5.3+) ou d’ajouter un préfixe unique à toutes les fonctions, classes et constantes. Le préfixe doit être suffisamment distinctif ; il est généralement basé sur l’abréviation ou le nom complet du plugin concerné.

Par exemple, n'utilisez pas : display_greeting()Il convient plutôt d'utiliser my_first_plugin_display_greeting()Si vous utilisez des espaces de noms PHP, vous pouvez les déclarer en haut du fichier. namespace MyFirstPlugin;Ensuite, utilisez des noms de fonctions courts en interne, et résolvez les références aux fonctions externes via un espace de noms.

Après le développement, comment publier le plug-in dans le répertoire officiel ?

Pour publier un plug-in dans le répertoire officiel de WordPress.org, vous devez d’abord créer un compte sur WordPress.org et soumettre le plug-in. Le processus comprend : s’assurer que le code respecte la licence GPL, passer le test de compatibilité PHPCS, préparer un fichier readme.txt (en respectant un format spécifique), fournir des captures d’écran et une documentation claires. Après la soumission, un examinateur effectue une révision du code et, si elle est approuvée, le plug-in est publié. Une fois publié, les utilisateurs peuvent rechercher et installer votre plug-in directement depuis l’interface d’administration de WordPress.

Comment les plugins sont-ils compatibles avec les anciennes versions de WordPress ?

Afin de maintenir la compatibilité descendante, lors du développement, il est nécessaire de vérifier la version actuelle de WordPress et d’utiliser des instructions conditionnelles pour encapsuler le code dépendant de l’API de la nouvelle version. En même temps, il faut éviter d’utiliser des fonctions obsolètes. Si leur utilisation est inévitable, il faut s’assurer qu’il existe une solution de remplacement. Dans le fichier readme.txt du plug-in, il est précisément indiqué la version minimale de WordPress requise par le plug-in, et des instructions claires sont données aux utilisateurs. Tester régulièrement le fonctionnement du plug-in dans des environnements de version antérieure est la clé pour maintenir sa compatibilité.