Guide ultime pour le développement de plugins WordPress : Créer votre premier plugin personnalisé à partir de zéro

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

Pourquoi choisir de développer des plugins pour WordPress ?

WordPress, en tant que système de gestion de contenu le plus populaire au monde, doit une grande partie de sa puissance d’extensibilité à son architecture basée sur des plugins. Grâce à ces plugins, les développeurs peuvent ajouter n’importe quelle fonctionnalité à la plateforme de base, allant de simples formulaires de contact à des systèmes de commerce électronique complexes. Apprendre à développer des plugins personnalisés vous permettra de ne plus être limité par la bibliothèque de plugins existante, de construire des fonctionnalités adaptées aux besoins de votre projet, d’optimiser les performances de votre site web, et même de transformer cela en une activité commerciale durable.

Les principaux avantages du développement de plugins personnalisés résident dans leur flexibilité et leur pouvoir de contrôle. Vous pouvez vous assurer que le code ne contient que les fonctionnalités nécessaires, évitant ainsi un surchargement inutile et améliorant ainsi la vitesse du site web. De plus, vous pouvez intégrer en profondeur des logiques commerciales spécifiques, garantir la sécurité des données et respecter les meilleures normes de codage. Du point de vue commercial, un plugin réussi peut être publié dans le répertoire officiel de WordPress, atteignant des millions d’utilisateurs et générant des revenus considérables.

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

Avant d’écrire la première ligne de code, il est nécessaire de vous assurer que votre environnement de développement est prêt à l’emploi. Un environnement de développement local stable peut considérablement améliorer votre efficacité et vous permettre de tester votre code dans un cadre sécurisé, sans affecter le site web en ligne.

Lectures recommandées Maîtriser complètement le développement de plugins WordPress : créer des fonctionnalités personnalisées de A à Z.

Créer un serveur de développement local

Il est recommandé d’utiliser des outils tels que MAMP, XAMPP ou Local by Flywheel pour mettre en place rapidement un serveur local compatible avec PHP et MySQL. Une fois WordPress installé et configuré, vous disposez d’un environnement de test idéal. Vérifiez que la version de PHP utilisée soit compatible avec celle des hébergeurs web les plus répandus, et activez la fonction de débogage des erreurs.wp-config.phpDans le fichier, il est possible de faire des paramétrages.WP_DEBUGPourtrueCela vous aidera à localiser rapidement les problèmes pendant le processus de développement.

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.

Comprendre la structure de base des répertoires

Les plugins WordPress se trouvent dans le répertoire `wp-content/plugins`./wp-content/plugins/Dans le répertoire, chaque plugin est représenté par un dossier indépendant, dont le cœur est un fichier PHP principal. Vous pouvez créer de nouveaux dossiers directement dans ce répertoire via FTP, SSH ou un gestionnaire de fichiers local. Par exemple, pour votre premier plugin, créez un dossier nommé…my-first-pluginOuvrez le dossier correspondant et créez le fichier principal à l’intérieur de ce dossier.my-first-plugin.phpCeci est le point d’entrée du plugin ; WordPress reconnaîtra le plugin en lisant certaines informations contenues dans les commentaires en tête de ce fichier.

Créer le premier fichier de base pour un plugin.

Cette section vous guidera pas à pas dans la création du cadre de base d’un plugin, qui constitue la pierre angulaire permettant à WordPress de reconnaître et de gérer ce dernier.

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

Chaque plugin WordPress doit inclure des commentaires d’en-tête standardisés en haut de son fichier PHP principal. Ces informations sont affichées sur la page de gestion des plugins dans l’administration de WordPress. Créez un nouveau fichier et nommez-le…my-first-plugin.phpEt entrez le code suivant :

<?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 note est obligatoire.Plugin NameLe nom affiché par le plugin en arrière-plan a été défini.Text DomainPour la traduction internationale, sauvez le fichier, puis placez-le dans l’endroit où vous l’avez stocké./wp-content/plugins/my-first-plugin/Le nouveau plugin a été créé dans le dossier approprié. Veuillez vous connecter à l’administration de WordPress et aller sur la page des “ Plugins ”. Vous devriez voir ce nouveau plugin dans la liste, et il sera affiché dans l’état “ Désactivé ”.

Lectures recommandées Analyse du développement de plugins pour WordPress : Guide complet pour créer des modules de fonctionnalités personnalisées à partir de zéro

Ajouter une fonction de fonctionnalité simple

Les plugins sans fonctionnalité sont totalement inutiles. Ajoutons donc une fonctionnalité de base : l’ajout automatique d’un texte personnalisé à la fin du contenu de l’article. Insérez le code PHP suivant sous les commentaires en tête du fichier du plugin :

// 防止直接访问
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

function myfp_add_footer_text( $content ) {
    // 检查是否在单个文章页面
    if ( is_single() ) {
        $custom_text = '<p><em>Merci de lire cet article ! Ce message a été généré par “ Mon premier plugin personnalisé ”.</em></p>'.
        $content . = $custom_text.
    }
    return $content.
}
add_filter('the_content', 'myfp_add_footer_text') ;

Ce code définit une fonction.myfp_add_footer_textIl le fait en…add_filterLe module d’installation a été correctement intégré à WordPress.the_contentSur le filtre. Utilisé à l’intérieur de la fonction.is_single()Des conditions sont utilisées pour s’assurer que le texte ne soit ajouté qu’à la page d’un article spécifique, afin d’éviter d’affecter la page d’accueil ou les pages d’archivage. Le nom de la fonction commence par un préfixe court.myfp(C’est l’abréviation de « My First Plugin »), et c’est une bonne pratique pour éviter les conflits avec les noms de fonctions d’autres plugins.

Plonger dans les technologies de développement au cœur des plugins

Pour que les fonctionnalités des plugins soient puissantes et professionnelles, il est nécessaire de maîtriser la série d’APIs de base et les modes de développement fournis par 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%.

Utiliser des crochets d’action et des filtres

Les hooks d’action (Action Hooks) et les hooks de filtre (Filter Hooks) sont l’essence du développement de plugins pour WordPress. Les hooks d’action vous permettent d’exécuter du code à des moments précis, par exemple lors de la publication d’un article.publish_post) ou lors du chargement de la page d'administration en arrière-plan (admin_initLes filtres vous permettent de “ modifier ” les données, comme dans l’exemple précédent où nous avons modifié le contenu des articles.

Créer une page de menu de gestion est un scénario typique pour l’utilisation des hooks d’action. Vous pouvez y associer du code pour mettre en œuvre les fonctionnalités souhaitées.admin_menuSur l’ crochet. Voici un exemple de création d’une page de paramétrage simple :

function myfp_create_admin_menu() {
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件',     // 菜单标题
        'manage_options', // 权限能力
        'myfp-settings-page', // 菜单slug
        'myfp_settings_page_html', // 回调函数,用于输出页面HTML
        'dashicons-admin-generic', // 图标
        80 // 菜单位置
    );
}
add_action( 'admin_menu', 'myfp_create_admin_menu' );

function myfp_settings_page_html() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <p>C’est la page de configuration de mon premier plugin.</p>
    </div>
    &lt;?php
}

Implémenter les options des plugins et le stockage des données

La plupart des plugins nécessitent l’enregistrement de certaines paramètres des utilisateurs. WordPress offre des outils pour cela.Options APIPour stocker et récupérer des données de manière sûre, vous pouvez utiliser…add_option()get_option()etupdate_option()Pour créer des formulaires de configuration interactifs, vous devez utiliser à la fois des formulaires HTML et des fonctions de sécurité de WordPress.wp_nonce_field()Utilisé pour générer et vérifier des nombres aléatoires sûrs, ainsi que…sanitize_text_field()Utilisé pour nettoyer les données saisies par les utilisateurs.

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

Voici un extrait d'un exemple simplifié de processus de traitement et de sauvegarde de données :

si (isset( $_POST['myfp_submit'] ) ) {
    // Vérification du nombre aléatoire de sécurité
    si ( ! wp_verify_nonce( $_POST['myfp_nonce'], 'myfp_save_settings' ) ) {
        wp_die( 'La vérification de sécurité a échoué !' );
    }

// Nettoyage et enregistrement des données
    $user_text = sanitize_text_field( $_POST['custom_text'] );
    update_option( 'myfp_custom_text', $user_text );

echo ' <p>';

?&gt;'<div class="notice notice-success"><p>Les paramètres ont été sauvegardés !</p></div>';
}

Intégrer des scripts et des feuilles de style

Afin de ne pas affecter les performances de l’interface utilisateur du site, les fichiers JavaScript et CSS introduits par les plugins doivent être utilisés de manière appropriée.wp_enqueue_script()etwp_enqueue_style()Des fonctions permettent à WordPress de gérer ses dépendances et d’éviter les conflits. Le crochet d’installation (hook d’installation) correct est essentiel pour que tout fonctionne correctement.wp_enqueue_scripts(Dédié à l'interface utilisateur) Etadmin_enqueue_scripts(Dédié au backend.)

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.
function myfp_enqueue_frontend_assets() {
    wp_enqueue_style(
        'myfp-frontend-style',
        plugins_url( 'assets/css/frontend-style.css', __FILE__ ),
        array(),
        '1.0.0'
    );
}
add_action( 'wp_enqueue_scripts', 'myfp_enqueue_frontend_assets' );

Meilleures pratiques pour la publication et la maintenance d'extensions (plugins)

Une fois le développement terminé, vous devez réfléchir à la manière de maintenir et de distribuer votre plugin de manière durable.

Sécurité et révision du code

La sécurité est de la plus haute importance dans le développement de plugins. Tous les éléments saisis par les utilisateurs doivent être considérés comme non fiables, et il est nécessaire d’utiliser des méthodes de protection appropriées.esc_html()esc_url()sanitize_text_field()Il est nécessaire d’échapper ou de nettoyer les données avant de les afficher dans un navigateur ou de les stocker dans une base de données. Lors de l’utilisation directe de requêtes SQL, il faut absolument respecter ces règles.$wpdbLes classes et leurs…prepare()Des méthodes existent pour prévenir les attaques de injection SQL. L’utilisation régulière d’outils de détection de codes pour WordPress permet de procéder à des audits du code, ce qui vous aide à respecter les normes de codage et à détecter d’éventuelles vulnérabilités.

Préparation à l’internationalisation et à la localisation

Si vous souhaitez que votre plugin soit utilisé par des utilisateurs du monde entier, l’internationalisation (i18n) est essentielle. Cela signifie que vous devez traduire toutes les chaînes de caractères destinées aux utilisateurs.()Ou_e()Encapsulez les fonctions de traduction. Par exemple :echo (‘Hello World!‘, ‘my-first-plugin‘);Défini dans la partie supérieure du plugin.Text Domainmy-first-pluginIl doit être entièrement identique au domaine de texte utilisé dans la fonction de traduction. Ensuite, vous pouvez utiliser des outils tels que Poedit pour créer….potFichiers de modèle, destinés aux traducteurs pour générer des versions dans différentes langues..moLes documents.

Mises à jour de la version et compatibilité

Lorsque vous ajoutez de nouvelles fonctionnalités à un plugin ou que vous corrigez des erreurs, il est nécessaire de publier une nouvelle version. Assurez-vous de mettre à jour la partie en tête du fichier principal (le fichier contenant les déclarations de type `<?php`).VersionInformations. Il est recommandé de proposer une procédure d’upgrade qui permette de vérifier le numéro de version du plugin lorsqu’il est activé, et de procéder à la mise à jour en conséquence.register_activation_hookEffectuez les mises à jour nécessaires dans la base de données ou la migration des données. En même temps,readme.txtLe fichier contient des informations claires sur les journaux d’actualisation, les versions de WordPress compatibles ainsi que des guides d’installation, surtout si vous prévoyez de soumettre le plugin au répertoire officiel de WordPress.

résumés

De la compréhension des concepts de base des plugins à la création concrète de plugins complets qui intègrent des fonctions, gèrent les pages et la charge des ressources, vous avez franchi les premiers pas dans le développement de plugins pour WordPress. L’essentiel réside dans la maîtrise des hooks d’actions et de filtres, le traitement sécurisé des données et des options, ainsi que la respectation des meilleures pratiques en matière d’internationalisation et de sécurité. Le développement de plugins est un processus d’apprentissage continu ; tester régulièrement et lire le code source du noyau de WordPress ainsi que celui d’autres plugins de qualité vous aidera à créer des outils plus puissants et plus professionnels. Maintenant, vous pouvez vous baser sur ces connaissances pour commencer à concevoir et à mettre en œuvre les fonctionnalités uniques que vous avez en tête.

FAQ Foire aux questions

Quelles connaissances de programmation sont nécessaires pour développer un plugin WordPress avec le code #### ?
Pour développer des plugins pour WordPress, il est nécessaire de posséder de bases en programmation PHP, car les plugins sont principalement écrits en PHP. De plus, une connaissance de base d’HTML, CSS et JavaScript est indispensable pour construire les interfaces utilisateur et les interactions. Une familiarité avec les concepts de base des bases de données MySQL sera également utile pour comprendre la manière dont WordPress stocke les données.

Le fichier PHP principal du plugin peut-il porter n’importe quel nom ?

Oui, c’est possible, mais il est généralement conseillé d’utiliser un nom qui correspond au nom du dossier contenant le plugin ou qui est suffisamment descriptif. Le plus important est que, quel que soit le nom du fichier, les commentaires situés en haut du fichier (contenant des informations sur le plugin) soient bien lisibles et compréhensibles.Plugin NameCe commentaire doit être parfaitement exact, car c’est en lisant ces informations que WordPress reconnaît les plugins.

Comment éviter que les noms des fonctions que j’écris ne soient en conflit avec ceux d’autres plugins ?

La meilleure pratique consiste à utiliser un préfixe unique pour nommer toutes vos fonctions, classes, variables et constantes. Ce préfixe doit être suffisamment distinctif et est généralement lié à l’abréviation de votre plugin ou à votre marque. Par exemple, si votre plugin s’appelle “Super SEO Tools”, vous pouvez utiliser…sset_Ousst_En tant que préfixe, par exemple…sst_generate_meta_descriptionL’utilisation des espaces de noms en PHP (dans un environnement compatible) représente une autre solution plus moderne et plus efficace.

Puis-je créer des tables de base de données dans un plugin ?

C’est possible, mais il faut être très prudent. Créez des tables de base de données personnalisées uniquement lorsque c’est absolument nécessaire, car l’API Options de WordPress ainsi que les tables intégrées Posts/Post Meta sont généralement suffisamment flexibles pour répondre à la plupart des besoins de stockage de données. Si vous devez créer de nouvelles tables, veuillez utiliser…$wpdbObjet, et assurez-vous que le crochet d’activation du plugin est utilisé.register_activation_hookLa création des tables doit être gérée dans ce processus, et il faut également prendre en compte l’option de nettoyer les tables lors du désinstallation.

Comment partager un plugin avec d’autres personnes après sa mise au point ?

Pour les projets personnels ou clients, il suffit de les emballer directement.zipLe fichier suffit. Si vous souhaitez le publier publiquement, la manière la plus officielle consiste à le soumettre au répertoire officiel des plugins de WordPress. Cela vous oblige à créer un plugin qui respecte les exigences de ce répertoire.readme.txtAssurez-vous que le fichier respecte les protocoles open source (tels que GPL). Avant de soumettre votre plugin, testez attentivement sa compatibilité et sa sécurité dans différents environnements.