Guichet unique pour le développement de plugins WordPress : un tutoriel pratique pour passer du niveau débutant au niveau expert.

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

Mise en place de l'environnement de développement de plugins WordPress.

Avant de commencer à développer votre premier plug-in, il est essentiel de disposer d’un environnement de développement stable, isolé et complet. Cela permet non seulement de protéger votre site de production, mais également de fournir tous les outils nécessaires au débogage et aux tests.

Configuration de l'environnement de développement local

La méthode la plus recommandée consiste à utiliser un environnement de serveur local, tel que Local by Flywheel, XAMPP ou MAMP. Ces outils permettent d’installer WordPress en un clic et intègrent PHP, MySQL et un serveur web. Assurez-vous que votre version de PHP est compatible avec la version actuelle recommandée par WordPress et activez la fonctionnalité de rapport d’erreurs, ce qui vous aidera à détecter les problèmes potentiels dès le début du développement.

Dans le répertoire d'installation de WordPress sur votre ordinateur. wp-content/plugins Dans le dossier, créez un dossier séparé pour votre nouveau plug-in, par exemple. my-first-pluginTous les fichiers des plugins seront placés ici.

Lectures recommandées Analyse complète de l'optimisation SEO : un guide pratique allant de l'architecture technique à la stratégie de contenu.

Le choix d'un éditeur de code et d'outils de débogage.

Le choix d’un éditeur de code puissant peut grandement améliorer l’efficacité du développement, comme Visual Studio Code, PHPStorm ou Sublime Text. Assurez-vous d’installer des extensions telles que WordPress Code Snippets, PHP IntelliSense et PHP Debug pour votre éditeur.

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.

Pour le débogage, en plus d'activer WordPress, il est nécessaire de : WP_DEBUG Mode (en…) wp-config.php Les paramètres du fichier sont définis dans le document. define('WP_DEBUG', true);Nous vous recommandons également d’installer le plug-in Query Monitor. Il s’agit d’un panneau de développement qui affiche en temps réel des informations essentielles telles que les requêtes de base de données, les erreurs PHP, les hooks et les scripts. C’est un outil indispensable pour le développement de plug-ins.

Créez votre premier plugin pour WordPress.

Un plugin WordPress standard nécessite au moins un fichier principal. Ce fichier principal doit contenir des informations spécifiques à l'en-tête du plugin, afin que WordPress puisse le reconnaître et le charger.

Écrire le fichier principal du plug-in.

Dans votre dossier de plugins (par exemple : my-first-pluginDans ce cas, créez un fichier PHP, généralement nommé d'après le nom du plug-in, comme par exemple : my-first-plugin.phpLe début du fichier doit contenir des commentaires d'en-tête du plug-in.

<?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
 */

Cette annotation est la “ carte d’identité ” du plug-in. En son sein,Plugin Name C'est un champ obligatoire, tous les autres sont facultatifs. WordPress affiche votre plug-in dans la liste des plug-ins en arrière-plan en scannant ces informations.

Lectures recommandées Guide complet pour le développement de plugins WordPress : de zéro à l'avancement avancé

Réaliser une fonctionnalité de base.

Ajoutons une fonctionnalité simple à ce plugin : ajouter automatiquement un texte personnalisé à la fin du contenu de l'article. Nous utiliserons la balise the_content Filtre.

En dessous des informations d'en-tête du plug-in, ajoutez le code suivant :

// Ajouter un texte personnalisé à la fin du contenu de l'article
function myfp_add_footer_text($content) {
    // Ne fonctionne que sur un seul article
    if (is_single()) {
        $custom_text = '<p><em>Merci d’avoir lu ! Cet article est sponsorisé par “ Mon premier plug-in ”.</em></p>'.
        $content . = $custom_text.
    }
    return $content.
}
add_filter('the_content', 'myfp_add_footer_text') ;

Après avoir enregistré le fichier, allez sur la page “ Plugins ” de l’interface d’administration de WordPress et vous devriez voir “ Mon premier plugin ”. Activez-le, puis naviguez vers un article de votre site web et vous verrez que le texte prédéfini a été ajouté à la fin de l’article. Cet exemple simple montre comment utiliser un “ filtre ” pour modifier la sortie de WordPress.

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

Plonger au cœur des plugins : les hooks et les API.

La base des puissantes fonctionnalités des plugins WordPress est son système de “ hooks ” et son API riche. Les comprendre est la clé pour un développement avancé.

Comprendre les actions et les hooks des filtres.

Les hooks sont divisés en deux catégories principales : les actions et les filtres.
Les crochets d'action vous permettent d'insérer du code personnalisé à des points d'exécution spécifiques de WordPress (comme la publication d'un article ou le chargement de l'interface d'administration). Pour ce faire, utilisez add_action() à monter. Elle ne fait qu'exécuter l'opération et n'attend pas de valeur de retour.
Les filtres de hook vous permettent de modifier les données générées par WordPress au cours de leur traitement. Pour cela, utilisez : add_filter() Vous devez utiliser une fonction pour le monter. Vous devez recevoir une valeur d'entrée et la retourner après l'avoir modifiée.

Par exemple, envoyer un e-mail lorsque l'utilisateur se connecte est une action :

Lectures recommandées Construire un site de commerce électronique autonome WooCommerce : un guide pratique du processus complet de zéro à un

function myfp_on_user_login($user_login, $user) {
    wp_mail($user->user_email, '欢迎回来!', '您刚刚成功登录了网站。');
}
add_action('wp_login', 'myfp_on_user_login', 10, 2);

Et la modification du titre de l'article est un filtre :

function myfp_prepend_title($title) {
    return '精选:' . $title;
}
add_filter('the_title', 'myfp_prepend_title');

Explication détaillée des interfaces d'API couramment utilisées.

WordPress propose un grand nombre de fonctions d'API sécurisées, vous évitant d'avoir à manipuler directement la base de données.
* : : Options API : use add_option(), get_option(), update_option() Pour stocker et récupérer les données de configuration des plugins. Ces données seront stockées dans wp_options Dans le tableau.
* : : Settings API : utilisé pour créer des champs de formulaire standardisés, sécurisés et vérifiables dans les pages de configuration ou les pages autonomes. Elle simplifie la création de pages de paramétrage et gère automatiquement les contrôles de sécurité (nonce) et le stockage des données. Les fonctions principales sont les suivantes register_setting(), add_settings_section() et add_settings_field()
* : : Database API : through $wpdb L'objet global effectue des opérations de base de données personnalisées. Il fournit des fonctionnalités telles que : $wpdb->insert(), $wpdb->update(), $wpdb->get_results() Cette méthode a déjà traité les préfixes de table et la protection contre les injections SQL.
* : : HTTP API : utiliser wp_remote_get() Ou wp_remote_post() Pour lancer une requête HTTP à distance. C'est plus performant que les fonctions PHP natives telles que file_get_contents() Il est plus sûr, offre une meilleure compatibilité et prend en charge SSL et les proxies.

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.

Concevoir l'arrière-plan et l'interface utilisateur du plug-in.

Un plugin mature nécessite généralement une page de configuration permettant aux utilisateurs de personnaliser son comportement. WordPress offre plusieurs moyens d’ajouter une page au menu d’administration.

Créer un menu de gestion et des sous-menus.

utiliser add_menu_page() permet d'ajouter un élément de menu de premier niveau à la barre de navigation de gauche dans le backend. L'élément de menu supérieur est ajouté au côté gauche de la barre de navigation du backend à l'aide de la fonction add_submenu_page() Vous pouvez lui ajouter des sous-pages. Ces fonctions sont généralement disponibles dans admin_menu Cela est appelé dans les hooks d'action.

Voici un exemple de création d'un menu de niveau supérieur et de sa page de paramètres :

\n// Ajouter un menu d'arrière-plan
function myfp_add_admin_menu() {
    // Ajouter un menu de niveau supérieur
    add_menu_page(
        'Paramètres de mon plugin', // Titre de la page
        'Mon plugin',   // Titre du menu
        'manage_options', // Exigences d'autorisation
        'myfp-settings', // Slug du menu
        'myfp_settings_page_html', // Fonction de rappel pour afficher le contenu de la page
        'dashicons-admin-generic', // Icône
        80 // Position
    );
}
add_action('admin_menu', 'myfp_add_admin_menu');

// Définir le contenu HTML de la page de paramètres
function myfp_settings_page_html() {
    // Vérification des autorisations
    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('myfp_options'); // 与 register_setting() 的选项组名匹配
            do_settings_sections('myfp-settings'); // 与页面slug匹配
            submit_button('保存设置');
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

Créer un formulaire en utilisant l'API de configuration.

Pour que le formulaire ci-dessus fonctionne réellement, nous devons utiliser l'API de configuration pour enregistrer les champs. Cela se fait généralement dans admin_init C'est fait, le crochet est terminé.

// 初始化设置
function myfp_settings_init() {
    // 注册一个设置选项
    register_setting('myfp_options', 'myfp_settings');

// 添加一个设置节
    add_settings_section(
        'myfp_section_basic',
        '基础设置',
        null, // 节描述回调函数,可为空
        'myfp-settings'
    );

// 为节添加一个文本字段
    add_settings_field(
        'myfp_field_footer_text',
        '页脚文本',
        'myfp_field_footer_text_html', // 渲染字段HTML的回调函数
        'myfp-settings',
        'myfp_section_basic',
        ['label_for' => 'myfp_field_footer_text']
    );
}
add_action('admin_init', 'myfp_settings_init');

// 字段HTML渲染函数
function myfp_field_footer_text_html() {
    $options = get_option('myfp_settings');
    $value = $options['footer_text'] ?? '默认文本';
    ?>
    <input type="text"
           id="myfp_field_footer_text"
           name="myfp_settings[footer_text]"
           value="<?php echo esc_attr($value); ?>"
           class="regular-text">
    <?php
}

Grâce à cette combinaison, nous avons créé une page de paramètres d’arrière-plan standardisée avec des fonctions de validation et de stockage. Une fois que l’utilisateur a enregistré, les valeurs seront transmises via get_option('myfp_settings') Ils sont obtenus et utilisés dans les fonctions des plugins.

résumés

Le développement de plugins WordPress consiste à commencer par comprendre la structure de base (en-tête du plugin, organisation des fichiers) et à maîtriser progressivement ses mécanismes fondamentaux (crochets, API). En créant un environnement local professionnel, vous pouvez expérimenter et déboguer en toute sécurité. La création de votre premier plugin vous permet de vous familiariser avec le processus d'identification et de chargement des plugins par WordPress. Une compréhension approfondie des crochets d'actions et de filtres, ainsi que des API telles que les options, les paramètres et la base de données, constitue la base de la création de plugins puissants et sécurisés. Enfin, en utilisant les fonctions de menu d'administration et les API de configuration fournies par WordPress, vous pouvez créer pour les utilisateurs une interface d'arrière-plan cohérente et facile à configurer. En suivant ces étapes et ces meilleures pratiques, vous serez en mesure de créer des plugins WordPress répondant à tous types de besoins, à partir de zéro.

FAQ Foire aux questions

Pour développer un plugin WordPress, quelles connaissances de base sont nécessaires ?

Vous devez avoir des connaissances de base du langage de programmation PHP, car les plugins sont principalement écrits en PHP. De même, une compréhension de base du HTML, du CSS et du JavaScript est essentielle pour créer des interfaces d’affichage et d’interaction frontales. Une connaissance des concepts de base de la base de données MySQL (tels que l’insertion, la suppression, la modification et la recherche) aidera également à comprendre la manipulation des données de WordPress. Enfin, il est indispensable de connaître l’architecture de base de WordPress et les balises de modèle courantes.

Comment m'assurer que le plug-in que j'ai développé est sécurisé ?

Pour garantir la sécurité des plugins, il est nécessaire de suivre plusieurs bonnes pratiques. Tout d’abord, il faut valider, nettoyer et échapper toutes les données saisies par les utilisateurs. Utilisez les fonctions fournies par WordPress, telles que : esc_html(), esc_attr(), sanitize_text_field() et wp_kses()Ensuite, lors de l'exécution de toute opération impliquant la modification de données (telle que l'envoi d'un formulaire), il est nécessaire d'utiliser un nonce (jeton unique) pour vérifier l'intention et la source de la demande. Enfin, lors de l'interaction directe avec la base de données, il est impératif d'utiliser un jeton unique. $wpdb Utilisez les méthodes fournies par la classe, ou utilisez une API plus avancée, pour éviter d'écrire manuellement des requêtes SQL et prévenir ainsi les attaques par injection.

Le fichier principal du plug-in peut-il être nommé comme on le souhaite ?

C'est possible, mais il faut respecter certaines règles. Le fichier PHP principal peut être nommé comme on le souhaite, mais il est généralement recommandé d'utiliser un nom tout en minuscules et séparé par des traits d'union, qui soit cohérent avec le nom du répertoire ou le nom du plug-in, par exemple. my-awesome-plugin.phpLe plus important, c'est que le fichier doit contenir les annotations correctes pour l'en-tête du plug-in (c'est-à-dire <). Plugin Name: etc.), car WordPress identifie les plugins en scannant ces commentaires spécifiques dans le contenu du fichier, et non en se basant sur le nom du fichier.

Comment ajouter un support multilingue à mon plug-in ?

Ajouter le support multilingue (internationalisation et localisation) à un plug-in se divise principalement en trois étapes. La première étape consiste à utiliser < pour marquer tous les chaînes de caractères qui doivent être traduites dans le code du plug-in. __() Ou _e() La deuxième étape consiste à envelopper la fonction et à définir le domaine de texte (Text Domain). Dans un deuxième temps, il faut la déclarer correctement dans les commentaires de l'en-tête du plug-in. Text Domain et Domain PathLa troisième étape consiste à utiliser un outil tel que Poedit pour scanner le code du plug-in et générer une traduction. .pot Créez un fichier modèle, puis traduisez-le et générez la version correspondante pour chaque langue. .po et .mo Ensuite, téléchargez le fichier et placez-le dans le répertoire de langue spécifié. WordPress chargera automatiquement la traduction correspondante en fonction des paramètres de langue du site Web.