Guichet unique pour le développement de plugins WordPress : de zéro à la publication de votre plugin sur la Marketplace.

Lecture en 3 minutes
2026-03-19
2026-06-03
2,394
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 à écrire du code, vous devez vous assurer d’avoir un environnement de développement approprié. Cela permettra non seulement d’améliorer votre efficacité, mais aussi de garantir la publication d’un plug-in de qualité supérieure.

Tout d’abord, vous avez besoin d’un environnement de serveur local ou distant compatible avec WordPress. Il est recommandé d’utiliser des outils de développement locaux, tels que Local by Flywheel, XAMPP ou MAMP, qui peuvent rapidement configurer PHP, MySQL et le serveur Web pour vous. Le code source de WordPress peut être téléchargé depuis son site officiel.

Vous avez besoin d’un éditeur de code ou d’un environnement de développement intégré (IDE), tel que Visual Studio Code, PhpStorm ou Sublime Text. Ces outils offrent des fonctions de mise en évidence de la syntaxe, d’auto-complétion de code et de débogage, qui sont essentielles au développement.

Lectures recommandées Guichet unique pour le développement de plugins WordPress : de zéro à la création de votre premier plugin fonctionnel.

Enfin, il est fortement recommandé de créer un référentiel de contrôle de version, par exemple sur GitHub ou GitLab. Même si votre plugin est petit, l'utilisation de Git pour le contrôle de version vous aidera à suivre les modifications, à collaborer au développement et à faciliter sa soumission future au répertoire officiel des plugins de WordPress.

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.

Créer le premier fichier de plug-in.

Tous les plugins WordPress sont stockés dans wp-content/plugins Dans le répertoire. Un plug-in peut être un fichier autonome ou un répertoire contenant plusieurs fichiers. La méthode la plus simple consiste à commencer par un fichier.

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

Chaque plugin WordPress doit contenir un bloc de commentaires PHP spécifique dans son fichier principal, appelé “ en-tête du plugin ”. WordPress utilise ces informations pour identifier et afficher votre plugin dans l’interface d’administration. L’en-tête le plus basique doit contenir le nom du plugin.

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个简短的描述,说明这个插件是做什么的。
 * 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 définit l'identité de base du plug-in.Plugin Name Cela est obligatoire ; d’autres informations telles que le numéro de version et les champs de texte sont également très importantes pour la publication. Enregistrez ce fichier sous le nom suivant : my-first-plugin.php Et placez-le dans plugins Dans le répertoire, vous pourrez le voir et l'activer depuis la page des plugins de l'interface d'administration de WordPress.

Créer une fonction simple.

Après avoir activé le plug-in, il n’a actuellement aucune fonctionnalité. Ajoutons une fonctionnalité simple, comme l’ajout d’une ligne de texte au pied de page du site. Pour cela, nous allons utiliser un hook d’action principal de WordPress.

Lectures recommandées Guide complet pour le développement d’extensions WordPress : de l’apprentissage de base à la maîtrise de la création de fonctionnalités personnalisées

// Cette fonction est utilisée pour éditer un texte personnalisé
function my_first_plugin_add_footer_text() {
    echo '<p style="text-align: center;">Merci d’utiliser mon premier plugin !</p>' ;
}
// Monter la fonction ci-dessus sur le crochet WordPress wp_footer
add_action( 'wp_footer', 'my_first_plugin_add_footer_text' ) ;

Placez ce code sous le commentaire d’en-tête du plug-in précédent. Après avoir enregistré le fichier, actualisez la page d’accueil de votre site et vous devriez voir cette ligne de texte en bas de la page. Avec cet exemple, vous avez commencé à utiliser le système de hooks de WordPress pour étendre ses fonctionnalités.

Développement de base : crochets et filtres.

Le cœur du développement de plugins WordPress est le mécanisme des hooks, qui vous permet d’insérer votre propre code à un moment ou à un endroit spécifique. Les hooks se divisent en deux catégories : les actions et les filtres.

Utiliser des hooks d'action.

Les crochets d'action vous permettent d'exécuter des fonctions à des moments spécifiques du cycle de vie de WordPress. L'exemple précédent, qui consiste à ajouter du texte au pied de page, utilise un crochet d'action. wp_footer Action. Un autre hook couramment utilisé est initIl est déclenché lors de l'initialisation de WordPress et est souvent utilisé pour enregistrer des types d'articles ou des taxonomies personnalisés.

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_plugin_custom_init() {
    // 在这里执行初始化代码
    error_log('我的插件已随 WordPress 初始化!');
}
add_action( 'init', 'my_plugin_custom_init' );

Comprendre et utiliser correctement les hooks d'action est la clé d'une intégration profonde des plugins avec le noyau de WordPress.

Utilisez un filtre pour modifier le contenu.

Les filtres de crochets vous permettent de modifier les données générées par WordPress pendant leur traitement. Par exemple, si vous voulez modifier le texte qui précède le titre de l'article, vous pouvez utiliser the_title Filtre.

function my_plugin_modify_title( $title, $id = null ) {
    // 只在主循环和单篇文章页为标题添加前缀
    if ( in_the_loop() && is_single() ) {
        return '【推荐】' . $title;
    }
    return $title;
}
add_filter( 'the_title', 'my_plugin_modify_title', 10, 2 );

Ici, 10 C'est la priorité par défaut.2 Cela indique que la fonction de filtrage accepte deux paramètres. Grâce aux filtres, vous pouvez modifier en toute sécurité presque tout le contenu affiché par WordPress.

Lectures recommandées De zéro à un : Découvrez pas à pas les compétences essentielles pour développer des plugins WordPress

La structure des plugins et leurs fonctionnalités avancées.

Lorsque vous commencez à ajouter davantage de fonctionnalités, il devient difficile de maintenir tout le code dans un fichier principal. Une bonne structure est la norme pour le développement de plugins professionnels.

Documents et répertoires organisationnels.

Un répertoire de plugins bien structuré pourrait ressembler à ceci :

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.
my-advanced-plugin/
├── my-advanced-plugin.php      // 主插件文件,包含头部和引导代码
├── includes/                   // 主要 PHP 类或函数文件目录
│   ├── class-admin-settings.php
│   ├── class-public-handler.php
├── admin/                     // 仅后台相关文件
│   ├── css/
│   ├── js/
│   └── views/
├── public/                    // 仅前台相关文件
│   ├── css/
│   ├── js/
│   └── views/
├── assets/                    // 共享资源(如图标)
└── languages/                 // 国际化翻译文件

Dans le fichier principal du plug-in, vous n'avez qu'à vous occuper du chargement de ces sous-fichiers. Vous pouvez utiliser : require_once Ou include_once Des instructions sont utilisées pour les introduire. Cette structure permet de modulariser le code, ce qui facilite la collaboration au sein d’une équipe ainsi que la maintenance à long terme.

Créer une page d'administration.

De nombreux plugins nécessitent une page de configuration en arrière-plan. WordPress fournit des fonctions pour ajouter des pages de menu de niveau supérieur ou de niveau inférieur. Voici un exemple d'ajout d'une page de menu de niveau supérieur.

fonction my_plugin_add_admin_menu() {
    add_menu_page(
        'Paramètres de mon plugin',    // Titre de la page
        'Mon plugin',        // Titre du menu
        'manage_options', // Capacité d'accès
        'my-plugin-slug', // Slug du menu
        'my_plugin_settings_page', // Fonction de rappel pour afficher la page
        'dashicons-admin-generic', // Icône
        80                  // Position du menu
    );
}
add_action( 'admin_menu', 'my_plugin_add_admin_menu' );

function my_plugin_settings_page() {
    // Vérification des droits d'accès de l'utilisateur
    if ( !current_user_can( 'manage_options' ) ) {
        wp_die( __( 'Vous n'avez pas les droits suffisants pour accéder à cette page.' ) );
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段和安全密钥
            settings_fields( 'my_plugin_options_group' );
            do_settings_sections( 'my-plugin-slug' );
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

Ce code ajoute une nouvelle rubrique de menu dans la barre latérale de l’interface d’administration de WordPress, qui, lorsqu’on clique dessus, charge une page contenant un formulaire de paramètres. Pour que cela fonctionne correctement, vous devez également utiliser l’API Paramètres pour enregistrer les champs et les options de paramètres.

La mondialisation et les pratiques de sécurité.

Avant de proposer le plug-in à un public plus large, il est essentiel de s'assurer qu'il respecte les meilleures pratiques en matière d'internationalisation et de sécurité.

L'internationalisation des plugins.

L'internationalisation (i18n) permet à votre plug-in d'être traduit dans d'autres langues. Vous devez utiliser les fonctions de localisation fournies par WordPress. Il est préférable d'intégrer le support de l'internationalisation dès le début du développement du plug-in.

Tout d'abord, assurez-vous que le plug-in est défini dans la tête du document. Text Domain et Domain PathEnsuite, traduisez tous les chaînes de caractères destinées aux utilisateurs en utilisant <. ()_e() Ou esc_html() et d'autres fonctions encapsulées.

// 在插件代码中
echo '<p>'\n' . esc_html__( 'C'est un paragraphe qui peut être traduit. ', 'my-first-plugin' ) . '</p>';

Ensuite, utilisez un outil tel que Poedit pour créer. .pot Les fichiers de modèle, à partir desquels les traducteurs peuvent créer des traductions dans différentes langues. .po et .mo Traduisez le fichier et placez-le dans le dossier précédemment défini. /languages Dans le répertoire.

Renforcer la sécurité des plugins.

La sécurité ne doit pas être négligée. Les principes fondamentaux sont les suivants : valider les entrées, échapper les sorties et effectuer des contrôles d'autorisations.
1. Vérification et contrôle des autorisations : Toute fonction qui traite des données des utilisateurs ou effectue des demandes en arrière-plan doit vérifier si l'utilisateur actuel a les autorisations nécessaires pour effectuer l’opération. current_user_can() et check_admin_referer() et d'autres fonctions.
2. Échappement des données : Lors de l’affichage de tout type de données (en particulier celles provenant des utilisateurs ou des bases de données) dans des fichiers HTML, des scripts JavaScript ou des URL, il est indispensable d’effectuer un échappement approprié.
HTML : esc_html(), esc_attr()
URL : esc_url()
– Seulement en JavaScript :wp_json_encode()
3. Sécurité des bases de données : Lors de l’interaction avec la base de données de WordPress, il est absolument interdit de concaténer manuellement les requêtes SQL. Utilisez plutôt des outils ou des méthodes prévus à cet effet. $wpdb Préparez la phrase.

    global $wpdb;
    $results = $wpdb->get_results(
        $wpdb->prepare(
            "SELECT * FROM {$wpdb->prefix}my_table WHERE id = %d AND status = %s",
            $user_id,
            $status
        )
    );

Tester et soumettre au répertoire officiel.

Après avoir effectué le développement et les tests de base localement, vous devez procéder à une validation complète sur un site de test similaire à l'environnement de l'utilisateur.

Utilisez un système de contrôle de version pour créer une version officielle de votre plug-in. En général, il est nécessaire de créer un fichier zip pour votre plug-in. readme.txt Le fichier, dont le format doit être conforme aux exigences officielles de WordPress, contient des informations sur le plug-in, des instructions d'utilisation, des étapes d'installation, un journal des mises à jour, etc. Ce fichier est essentiel pour l'affichage sur WordPress.org.

Lorsque vous êtes prêt à soumettre votre plugin au répertoire officiel de WordPress, vous devez avoir un compte sur WordPress.org. Le processus de soumission doit respecter les directives de la communauté, afin de garantir la qualité du code, la sécurité et l’absence de contenu malveillant. Une fois l’examen effectué, les utilisateurs du monde entier pourront rechercher et installer votre plugin. N’oubliez pas d’avoir une version compatible. readme.txt Les documents et un exemplaire approprié svn La structure du répertoire sert à gérer les versions de vos plugins.

résumés

Le développement de plugins WordPress consiste à comprendre la structure de base, puis à approfondir l'utilisation du système de crochets, à organiser le code de manière modulaire et à respecter strictement les normes de sécurité et d'internationalisation. Chaque étape, de la création d'un simple fichier à la construction d'un plugin complexe avec des pages d'administration, repose sur une compréhension approfondie de l'architecture de base de WordPress et de la communauté des développeurs. Suivre les meilleures pratiques permettra non seulement de rendre votre plugin plus stable et plus sécurisé, mais également de simplifier sa maintenance future et de vous ouvrir les portes du marché mondial des utilisateurs de WordPress. Apprendre en permanence le manuel officiel et le code source des plugins de qualité est la clé pour améliorer constamment vos compétences de développement.

FAQ Foire aux questions

Pour développer un plugin WordPress, quelles connaissances de base sont nécessaires ?
Vous devez avoir une connaissance de base du langage de programmation PHP, car le noyau de WordPress et ses plugins sont principalement écrits en PHP. De même, une connaissance de base du HTML, du CSS et du JavaScript est très utile pour créer des interfaces utilisateur et des fonctionnalités interactives. En outre, la compréhension des concepts de base de WordPress, tels que les thèmes, les hooks, les boucles et la structure des modèles, facilitera le processus de développement.

Quels fichiers un plug-in doit-il contenir ?

Le plug-in le plus basique n’a besoin que d’un fichier PHP principal, qui contient des informations valides sur le plug-in WordPress. Cependant, pour tout plug-in d’une certaine envergure, il est recommandé d’adopter une structure modulaire, en séparant les différentes fonctionnalités dans des fichiers distincts, par exemple en stockant la logique d’arrière-plan, la logique d’avant-plan, les fichiers de ressources et les fichiers d’internationalisation dans des répertoires correspondants. Cela améliore la lisibilité et la maintenabilité du code.

Comment ajouter des options de configuration à mon plug-in ?

Il est recommandé d'utiliser l'API de paramètres de WordPress pour ajouter des options de paramètres. Cela inclut l'utilisation de register_setting() Enregistrez une option, utilisez-la. add_settings_section() et add_settings_field() Définissez les zones et les champs, puis utilisez-les dans les fonctions de rappel de la page de menu d'arrière-plan du plug-in. settings_fields() et do_settings_sections() Pour générer le formulaire. Bien qu’il soit également possible de traiter manuellement la soumission du formulaire, l’API Settings permet de gérer automatiquement la validation des données, leur stockage et les contrôles de sécurité.

Comment m’assurer que mon plugin est compatible avec d’autres plugins ou thèmes ?

Pour maximiser la compatibilité, veillez toujours à utiliser les API et les fonctions officielles de WordPress, et évitez d’utiliser des fonctions non recommandées ou de modifier directement les fichiers principaux. Ajoutez un préfixe unique à vos fonctions, classes et constantes afin d’éviter les conflits de noms avec d’autres codes. Lorsque vous enregistrez des paramètres ou créez des tables de base de données, utilisez le préfixe de table approprié. En outre, lorsque vous effectuez des actions susceptibles d’affecter l’état global, envisagez d’utiliser des crochets de filtre pour permettre aux autres développeurs d’adapter le comportement de votre plug-in.

Ma plug-in a-t-il besoin de prendre en charge le mode multisite de WordPress ?

Cela dépend des fonctionnalités de votre plug-in. Si votre plug-in manipule des données liées au site (par exemple, des articles, des options), il fonctionnera par défaut de manière indépendante sur chaque site du réseau multisite, ce qui est généralement acceptable. Cependant, si votre plug-in nécessite d’ajouter des paramètres ou des fonctions d’administration au niveau du réseau, vous devrez vérifier spécifiquement s’il est dans un environnement multisite et utiliser des méthodes telles que : is_multisite()get_current_blog_id() Les fonctions liées au réseau (telles que add_network_option()Pour garantir son bon fonctionnement. Il est judicieux de prendre en compte la compatibilité multi-sites dès la phase de développement.