Guichet unique pour le développement de plugins WordPress : construisez votre premier plugin de A à Z.

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

Préparation de l'environnement de développement pour les plugins WordPress

Avant de commencer à écrire du code, il est essentiel de mettre en place un environnement de développement local stable et efficace. Cela vous permet non seulement de effectuer des tests en toute sécurité, mais aussi d’imiter la configuration d’un serveur réel. Pour le développement de plugins WordPress, nous recommandons vivement l’utilisation de logiciels de serveur local tels que XAMPP, MAMP ou Local by Flywheel. Ces outils vous permettent de créer facilement sur votre ordinateur un environnement comprenant Apache, PHP et MySQL.

Ensuite, vous aurez besoin d’un éditeur de code. Visual Studio Code, PhpStorm ou Sublime Text sont de très bonnes options ; ils offrent une mise en évidence du code, des suggestions de syntaxe et des fonctionnalités de débogage, ce qui peut considérablement améliorer votre efficacité de développement. Après avoir installé et configuré ces outils, téléchargez la dernière version des fichiers de base de WordPress et installez-les sur votre serveur local.

De plus, il est conseillé d’initialiser un système de contrôle de version, comme Git, dans le répertoire racine de votre projet de plugin.git initCette commande crée un nouveau répertoire de stockage de code, ce qui vous permet de suivre les modifications apportées au code, de rétablir des erreurs et de faciliter la collaboration future au sein de l’équipe. Pensez également à activer le mode de débogage de WordPress.wp-config.phpDans le fichier…WP_DEBUGLa constante est définie àtrueCela affichera les erreurs et les avertissements PHP pendant le processus de développement, vous aidant à localiser rapidement les problèmes.

Lectures recommandées Guichet unique pour le développement de plugins WordPress : créez votre propre plugin de A à Z.

Créez la structure de base de votre premier plugin.

Un plugin WordPress standard possède une structure de répertoires et de fichiers bien définie. Pour commencer, accédez au répertoire d’installation de WordPress.wp-content/pluginsDossier. Créez ici un nouveau dossier pour le plugin que vous allez développer. Le nom du dossier doit être court, unique et refléter la fonctionnalité du plugin, par exemple…my-first-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.

Rédaction du fichier principal du plugin

Dans ce dossier, créez un fichier nommé….phpLes fichiers ayant un extension spécifique, utilisés comme fichiers principaux d'un plugin, portent généralement le même nom que le dossier dans lequel ils sont situés. Par exemple…my-first-plugin.phpCe fichier sert d’entrée pour le plugin, et les commentaires situés en haut du fichier (les « headers » du plugin) sont obligatoires. Ils fournissent à WordPress des informations métadonnées sur le plugin.

<?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
 * Domain Path:       /languages
 */

Dans cette note,Plugin NameC’est la seule information obligatoire à fournir ; les autres détails aident les utilisateurs à identifier votre plugin dans l’administration de WordPress. Une fois cette étape terminée, vous avez en fait créé un plugin qui peut être activé. Connectez-vous à l’administration de WordPress, allez dans le menu “ Plugins ”, et vous devriez voir “ Mon premier plugin ” – même si celui-ci n’a pour l’instant aucune fonctionnalité.

Construire des fonctionnalités de plugins et des mécanismes d'encapsulation de classes

Afin de garantir la clarté et la maintenabilité du code, il est recommandé d’organiser celui-ci de manière orientée objet. Dans le fichier principal, ou dans un fichier distinct, définissez une classe qui encapsule toutes les fonctionnalités du plugin.

if ( ! class_exists( 'My_First_Plugin' ) ) {
    class My_First_Plugin {
        public function __construct() {
            // 构造函数,用于初始化动作和过滤器
            add_action( 'init', array( $this, 'init' ) );
        }

public function init() {
            // 插件初始化时执行的操作
            // 例如:注册短代码、自定义文章类型等
        }
    }

// 实例化插件类
    new My_First_Plugin();
}

Cette structure organise vos fonctionnalités dans un espace de noms indépendant, ce qui évite les conflits de noms de fonctions avec d’autres plugins ou thèmes.

Lectures recommandées Développement de plugins WordPress : créer des modules de fonctionnalités personnalisées de A à Z.

Réaliser les fonctionnalités essentielles : actions et filtres.

La force des plugins WordPress réside dans leur système de « hooks », qui comprend les « Actions » et les « Filters ». Comprendre et utiliser ces mécanismes est essentiel pour le développement de plugins efficaces.

Utiliser des crochets d’action pour ajouter des fonctionnalités

Les « action hooks » vous permettent d’insérer votre propre code à des moments spécifiques de l’exécution de WordPress. Par exemple, si vous souhaitez ajouter automatiquement un texte après le contenu d’un article, vous pouvez en faire usage.the_contentLe filtre est une sorte d“” action » particulière. Les actions plus typiques sont…wp_footerIl est utilisé pour ajouter du contenu en bas de la page.

public function __construct() {
    add_action( 'wp_footer', array( $this, 'add_custom_footer_text' ) );
}

public function add_custom_footer_text() {
    echo '<p style="text-align: center;">Merci de lire ! Ce contenu a été généré par mon premier plugin.</p>';
}

Dans cet exemple,add_custom_footer_textLa méthode sera appelée en bas de chaque page pour afficher un texte personnalisé.

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 les hooks des filtres pour modifier les données.

Les hooks de filtre sont utilisés pour modifier les données avant qu’elles ne soient envoyées à la base de données ou au navigateur. Un exemple courant est la modification du titre d’un article. Nous pouvons les utiliser pour…the_titleFiltre.

public function __construct() {
    add_filter( 'the_title', array( $this, 'customize_title' ) );
}

public function customize_title( $title ) {
    // 只在主循环中且不是后台管理界面时修改
    if ( ! is_admin() && in_the_loop() ) {
        return '📖 ' . $title;
    }
    return $title;
}

Cette fonction de filtre reçoit le titre original en paramètre et retourne un titre modifié. La logique consiste à ajouter un symbole de livre avant le titre de l’article affiché sur la page utilisateur.

Internationalisation des plugins et options configurables

Pour que les plugins soient utilisables par des utilisateurs du monde entier, l’internationalisation (i18n) est une étape indispensable. De plus, fournir aux utilisateurs une page de configuration en arrière-plan pour personnaliser le comportement des plugins améliore considérablement leur professionnalisme.

Lectures recommandées Guide de démarrage pour les débutants en développement de plugins WordPress : créez votre premier plugin fonctionnel à partir de zéro.

Mettre en œuvre la fonction de traduction de texte.

WordPress utilise la technologie GNU gettext pour l’internationalisation. Vous devez envelopper toutes les chaînes de caractères affichées à l’utilisateur, que ce soit dans l’interface utilisateur (front-end) ou dans l’administration (back-end) des plugins, à l’aide de fonctions spécifiques.

Tout d’abord, dans la section des plugins du fichier principal, nous avons déjà défini…Text DomainetDomain PathEnsuite, chargez le champ de texte dans la fonction d'initialisation.

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.
public function init() {
    load_plugin_textdomain(
        'my-first-plugin',
        false,
        dirname( plugin_basename( __FILE__ ) ) . '/languages/'
    );
}

Ensuite, dans le code, utilisez la fonction de traduction à l’endroit où le texte doit être affiché. Par exemple, dans le texte du pied de page précédent :

echo '<p style="text-align: center;">' . esc_html__( '感谢阅读!本内容由我的第一个插件生成。', 'my-first-plugin' ) . '</p>';

esc_html__()La fonction traduit le texte et effectue les échappements HTML nécessaires pour garantir sa sécurité. Les traducteurs peuvent l’utiliser..poet.moLes fichiers sont là pour fournir différentes versions de votre plugin dans différentes langues.

Créer la page des paramètres du back-office

L’utilisation de l’API Settings de WordPress permet de créer des pages de paramétrage standardisées et sécurisées pour vos plugins. Cela implique généralement plusieurs étapes : l’enregistrement des paramètres, l’ajout de zones et de champs de paramétrage, ainsi que la création des pages de menu correspondantes.

public function __construct() {
    add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
    add_action( 'admin_init', array( $this, 'settings_init' ) );
}

public function add_admin_menu() {
    add_options_page(
        '我的第一个插件设置', // 页面标题
        '我的插件', // 菜单标题
        'manage_options', // 权限
        'my-first-plugin', // 菜单slug
        array( $this, 'settings_page_html' ) // 回调函数,用于输出页面HTML
    );
}

public function settings_init() {
    register_setting( 'my_first_plugin_settings', 'my_first_plugin_options' ); // 注册一组设置

add_settings_section(
        'my_first_plugin_section',
        __( '基本设置', 'my-first-plugin' ),
        null,
        'my-first-plugin'
    );

add_settings_field(
        'footer_text',
        __( '自定义页脚文本', 'my-first-plugin' ),
        array( $this, 'footer_text_field_html' ),
        'my-first-plugin',
        'my_first_plugin_section'
    );
}

public function footer_text_field_html() {
    $options = get_option( 'my_first_plugin_options' );
    ?&gt;
    <input type='text' name='my_first_plugin_options[footer_text]' value='<?php echo esc_attr( $options['footer_text'] ?? '' ); ?>'>
    <?php
}

public function settings_page_html() {
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?>
    <div class="wrap">
        <h1></h1>
        <form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
            
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

Désormais, les utilisateurs peuvent configurer le texte du pied de page sur la page “ Paramètres ” -> “ Mes plugins ”.add_custom_footer_textLa méthode peut être modifiée pour récupérer des valeurs à partir de cette option, ce qui rend le plugin configurable.

résumés

À travers ce guide, nous avons suivi les étapes principales du développement de plugins pour WordPress : de la mise en place d’un environnement local et de la création de la structure de fichiers de base, à l’organisation du code en utilisant des méthodes orientées objet. Nous avons exploré en détail le mécanisme d’extension fondamental de WordPress, à savoir les hooks d’actions et de filtres, et avons mis en œuvre des fonctionnalités pratiques permettant d’ajouter du contenu au pied de page et de modifier les titres des articles. Enfin, nous avons amélioré la qualité et l’utilisabilité de notre plugin en le rendant internationalisable pour une audience mondiale, et avons créé une interface de configuration sécurisée à l’aide de l’API Settings. Le développement de plugins est un processus de apprentissage et d’amélioration continus. Une fois que vous maîtriserez ces connaissances de base, vous pourrez explorer des sujets plus avancés tels que la personnalisation des types d’articles, les interactions AJAX et l’intégration des API REST, afin de créer des plugins WordPress puissants et dont le code est bien structuré.

FAQ Foire aux questions

Est-il obligatoire d'utiliser la programmation orientée objet pour développer des plugins ?

Ce n’est pas obligatoire, mais c’est fortement conseillé. L’utilisation de la programmation procédurale (une série de fonctions) peut permettre de mettre en œuvre des fonctionnalités rapidement, mais à mesure que le nombre de plugins augmente, le code devient difficile à gérer et à maintenir, et il y a un risque plus élevé de conflits de noms de fonctions avec d’autres plugins. La programmation orientée objet, quant à elle, encapsule le code à l’aide de classes, ce qui facilite la gestion et la maintenance du code, ainsi que la collaboration avec d’autres composants logiciels.$thisL'utilisation de variables et d'espace de noms (dans les versions plus récentes de PHP) permet une meilleure organisation du code, et constitue une meilleure pratique industrielle pour la création d'extensions de taille moyenne ou importante.

Comment traiter de manière sûre les données saisies par les utilisateurs ou celles provenant de la base de données ?

Chaque fois qu’une variable est affichée sur une page, il est nécessaire de l’échapper (de la convertir en un format approprié pour éviter les problèmes de syntaxe). WordPress propose une série de fonctions d’aide à cet effet. Il convient d’utiliser la fonction appropriée en fonction du contexte : pour afficher la variable à l’intérieur d’une balise HTML ou dans une attribut, il faut utiliser la fonction adéquate.esc_html()Ouesc_attr()Pour afficher le contenu d'une variable JavaScript, utilisez la fonction `console.log()`.wp_json_encode()Ouesc_js()Affichez cela dans l'URL en utilisant…esc_url()Ne croyez jamais aux données saisies par les utilisateurs ou aux données non traitées. L’encodage (ou l’échappement) des caractères est essentiel pour prévenir les attaques de type Cross-Site Scripting (XSS).

Quelles conditions doivent être remplies pour soumettre un plugin au répertoire officiel de WordPress ?

Les plugins soumis au répertoire des plugins de WordPress.org doivent respecter une série de règles strictes. Ils doivent notamment : être compatibles avec la licence GPL ; ne pas contenir de murs payants, de code crypté ou obscurci ; inclure un support d’internationalisation complet ; respecter les normes de codage et de documentation de WordPress ; et ne pas effectuer d’actions malveillantes telles que le spam téléphonique ou l’extraction de cryptomonnaies. De plus, le fichier principal de votre plugin doit contenir des informations standard sur le plugin et fournir une documentation complète.readme.txtLes documents.

Comment dois-je déboguer le code de mon plugin ?

Tout d’abord, assurez-vous que cette fonctionnalité est activée dans l’environnement de développement.WP_DEBUGPour un débogage plus complexe, il est possible d’utiliser…error_log()La fonction enregistre les informations dans le journal d'erreurs du serveur, ou les utilise de manière appropriée.var_dump()etwp_die()Vérifiez la valeur des variables (seulement dans l’environnement de développement). Une méthode plus efficace consiste à utiliser l’outil Xdebug intégré aux environnements de développement (comme PhpStorm) pour effectuer un débogage pas à pas. De plus, pour WordPress…WP_DEBUG_LOGetWP_DEBUG_DISPLAYLes constantes permettent de déterminer si les erreurs doivent être enregistrées dans un fichier de journal ou affichées à l’écran.