| 28 mai 2026

Créer un plugin WordPress : le guide complet pour développeurs débutants

Stéphane JEAN

Web & IA

WordPress propulse aujourd'hui plus d'un tiers des sites web dans le monde. Sa force ? Une architecture extensible qui permet à n'importe quel développeur — même débutant — de lui ajouter des fonctionnalités sur mesure. C'est précisément là qu'intervient le plugin.

Pourtant, face à la documentation officielle en anglais, aux tutoriels éparpillés et aux dizaines de concepts techniques à assimiler, beaucoup abandonnent avant d'avoir écrit leur première ligne de code. Vous reconnaissez-vous dans cette situation ?

Ce guide a été conçu pour vous. Que vous soyez étudiant en développement web, freelance qui débute en Martinique ou en France, ou simple passionné qui souhaite créer un plugin WordPress sans se perdre, vous trouverez ici une méthode claire, structurée et immédiatement applicable.

Nous allons couvrir ensemble : la structure minimale d'un plugin, le système de hooks (actions et filtres), la création d'une page d'administration, la sécurisation du code et les erreurs classiques à éviter absolument. Chaque section répond à une question concrète que vous vous posez probablement déjà.

Si vous souhaitez également approfondir vos compétences WordPress dans un cadre accompagné, la formation création site internet en Martinique proposée par Solappli est une excellente porte d'entrée vers la maîtrise complète de l'écosystème WordPress.

Prêt ? Ouvrons votre premier fichier PHP.

Réponse rapide : l'essentiel pour créer un plugin WordPress

  • Un plugin WordPress est un dossier contenant au minimum un fichier PHP avec un en-tête de commentaire spécifique reconnu par WordPress.
  • Le fichier principal doit être placé dans /wp-content/plugins/mon-plugin/mon-plugin.php pour être détecté par WordPress.
  • Les hooks (actions et filtres) sont le mécanisme central pour interagir avec WordPress sans modifier son cœur.
  • La sécurité est non négociable dès le premier plugin : nonce, sanitisation des données et vérification des droits utilisateur sont indispensables.
  • Aucune connaissance avancée n'est requise pour démarrer : PHP de base, HTML et une compréhension minimale de WordPress suffisent pour créer un premier plugin fonctionnel.
  • Le Codex WordPress et le Developer Handbook sont les références officielles à consulter en parallèle de ce guide.

1. Comprendre ce qu'est un plugin WordPress avant de le créer

Avant de créer un plugin WordPress, il est essentiel de comprendre ce que c'est réellement — et ce que ce n'est pas.

Définition et rôle d'un plugin WordPress personnalisé

Un plugin est un module autonome qui étend les fonctionnalités de WordPress sans toucher à son code source. Il peut ajouter un formulaire de contact, modifier l'affichage des articles, connecter une API externe ou créer un type de contenu personnalisé.

La grande force de ce système : si vous mettez à jour WordPress, votre plugin reste intact. Vous n'avez jamais besoin de modifier les fichiers du cœur (core) de WordPress. C'est la règle d'or du développeur WordPress sérieux.

Un plugin se distingue d'un thème enfant. Le thème gère l'apparence visuelle. Le plugin gère la fonctionnalité. Cette distinction est fondamentale : ne mettez pas du code fonctionnel dans votre thème.

Quand faut-il développer un plugin WordPress sur mesure ?

Plusieurs situations justifient de créer son propre plugin plutôt que d'installer un plugin existant :

  • Aucun plugin disponible ne répond exactement à votre besoin.
  • Les plugins existants sont trop lourds pour une fonctionnalité simple.
  • Vous développez une solution réutilisable pour plusieurs clients.
  • Vous souhaitez apprendre le développement WordPress en profondeur.
  • Vous avez besoin d'une intégration avec un système local (caisse, ERP, API spécifique aux Antilles).

En Martinique, de nombreux entrepreneurs et freelances cherchent à personnaliser leur site sans dépendre d'un plugin tiers payant. Créer un plugin WordPress maison est souvent la solution la plus économique et la plus pérenne.

Plugin vs thème enfant vs fonctions.php : que choisir ?

Beaucoup de débutants ajoutent du code dans le fichier functions.php de leur thème. C'est une erreur courante. Si vous changez de thème, tout ce code disparaît. Un plugin, lui, est indépendant du thème actif. Pour toute fonctionnalité destinée à durer, créez un plugin WordPress dédié.

Méthode Usage recommandé Risque si changement de thème
functions.php Modifications légères liées au thème Élevé : code perdu
Thème enfant Personnalisation visuelle du thème parent Moyen : dépend du thème parent
Plugin personnalisé Toute fonctionnalité métier ou réutilisable Nul : indépendant du thème

2. Créer un plugin WordPress : la structure minimale pas à pas

Passons à la pratique. Voici comment créer un plugin WordPress fonctionnel en quelques minutes.

L'arborescence de fichiers d'un plugin WordPress

La structure minimale se résume à un dossier et un fichier :

/wp-content/plugins/ mon-premier-plugin/ mon-premier-plugin.php

Pour un plugin plus complet, on adopte généralement cette organisation :

mon-premier-plugin/ mon-premier-plugin.php ← fichier principal includes/ ← classes et fonctions admin/ ← interface d'administration public/ ← scripts et styles front-end languages/ ← fichiers de traduction

L'en-tête obligatoire du fichier principal d'un plugin

WordPress reconnaît un plugin grâce à un bloc de commentaires en haut du fichier principal. Sans cet en-tête, votre plugin n'apparaîtra pas dans la liste des plugins de l'administration.

<?php /** * Plugin Name: Mon Premier Plugin * Plugin URI: https://monsite.com/mon-plugin * Description: Un plugin WordPress de démonstration. * Version: 1.0.0 * Author: Votre Nom * Author URI: https://monsite.com * License: GPL-2.0+ * Text Domain: mon-premier-plugin */ // Sécurité : empêcher l'accès direct au fichier if ( ! defined( 'ABSPATH' ) ) { exit; }

La ligne if ( ! defined( 'ABSPATH' ) ) { exit; } est une mesure de sécurité essentielle. Elle empêche l'accès direct au fichier PHP depuis un navigateur.

Activer et tester votre premier plugin WordPress

Une fois le fichier créé, rendez-vous dans Tableau de bord → Extensions → Extensions installées. Votre plugin apparaît dans la liste. Cliquez sur "Activer". Si aucune erreur PHP n'est présente, le plugin est actif.

Conseil professionnel : utilisez toujours un environnement local (LocalWP, XAMPP ou DevKinsta) pour développer. Ne codez jamais directement sur un site en production. C'est une règle que tout développeur sérieux respecte, qu'il soit en France ou en Martinique.

3. Maîtriser les hooks pour créer un plugin WordPress vraiment utile

Les hooks sont le cœur du développement WordPress. Sans eux, créer un plugin WordPress n'aurait aucun sens. Comprendre leur fonctionnement est la compétence numéro un à acquérir.

Les actions WordPress : déclencher du code au bon moment

Une action (action hook) permet d'exécuter votre code à un moment précis du cycle de vie de WordPress. Par exemple, afficher un message après le contenu d'un article, ou enregistrer des données lors de la sauvegarde d'un post.

add_action( 'wp_footer', 'mon_plugin_afficher_message' ); function mon_plugin_afficher_message() { echo '<p>Bonjour depuis mon plugin !</p>'; }

Ici, wp_footer est le hook natif de WordPress qui se déclenche juste avant la fermeture de la balise </body>. Votre fonction s'y accroche grâce à add_action().

Les filtres WordPress : modifier des données à la volée

Un filtre (filter hook) permet de modifier une valeur avant qu'elle soit utilisée par WordPress. Vous interceptez la donnée, vous la modifiez, puis vous la retournez.

add_filter( 'the_title', 'mon_plugin_modifier_titre' ); function mon_plugin_modifier_titre( $titre ) { return '🌴 ' . $titre; }

Ce filtre ajoute un emoji devant chaque titre d'article. Simple, mais illustratif. Les filtres les plus utilisés sont the_content, the_title, wp_nav_menu_items et upload_mimes.

Les hooks personnalisés pour un plugin extensible

Si vous développez un plugin destiné à être utilisé par d'autres développeurs, créez vos propres hooks. Cela permet à d'autres plugins ou thèmes de s'y accrocher sans modifier votre code.

// Dans votre plugin do_action( 'mon_plugin_apres_enregistrement', $donnees ); // Dans un autre plugin ou thème add_action( 'mon_plugin_apres_enregistrement', function( $donnees ) { // Traitement supplémentaire });

Cette pratique est celle des plugins professionnels comme WooCommerce ou ACF. Elle rend votre code modulaire et réutilisable. Si vous accompagnez des clients dans leur transformation digitale, cette approche est un vrai argument de valeur. D'ailleurs, si vous souhaitez en savoir plus sur l'accompagnement digital en Martinique, consultez le guide complet du coaching web pour entrepreneurs locaux.

4. Créer un plugin WordPress avec une page d'administration

La plupart des plugins utiles nécessitent une interface de configuration. Créer un plugin WordPress avec une page d'administration propre est une étape clé pour le rendre utilisable par vos clients.

Ajouter une page de menu dans l'administration WordPress

WordPress met à disposition la fonction add_menu_page() pour ajouter un élément dans le menu latéral de l'administration, et add_submenu_page() pour un sous-menu.

add_action( 'admin_menu', 'mon_plugin_ajouter_menu' ); function mon_plugin_ajouter_menu() { add_menu_page( 'Mon Plugin', // Titre de la page 'Mon Plugin', // Texte du menu 'manage_options', // Capacité requise 'mon-plugin', // Slug de la page 'mon_plugin_page_admin', // Fonction de rendu 'dashicons-admin-plugins', // Icône 80 // Position ); } function mon_plugin_page_admin() { echo '<div class="wrap"><h1>Réglages de Mon Plugin</h1></div>'; }

Enregistrer des options WordPress avec l'API Settings

Pour sauvegarder des réglages, utilisez l'API Settings de WordPress. Elle gère automatiquement la validation, la sécurité et le stockage dans la table wp_options.

add_action( 'admin_init', 'mon_plugin_enregistrer_reglages' ); function mon_plugin_enregistrer_reglages() { register_setting( 'mon_plugin_options', 'mon_plugin_texte' ); add_settings_section( 'section_principale', 'Paramètres', null, 'mon-plugin' ); add_settings_field( 'champ_texte', 'Texte personnalisé', 'mon_plugin_champ_texte_render', 'mon-plugin', 'section_principale' ); } function mon_plugin_champ_texte_render() { $valeur = get_option( 'mon_plugin_texte' ); echo '<input type="text" name="mon_plugin_texte" value="' . esc_attr( $valeur ) . '">'; }

Notez l'utilisation de esc_attr() pour sécuriser l'affichage. C'est une habitude à prendre dès votre premier plugin.

Charger des scripts et styles dans l'admin WordPress

Pour ajouter du CSS ou du JavaScript dans votre page d'administration, utilisez le hook admin_enqueue_scripts. Conditionnez toujours le chargement à votre page spécifique pour ne pas alourdir l'ensemble de l'administration.

add_action( 'admin_enqueue_scripts', 'mon_plugin_charger_scripts_admin' ); function mon_plugin_charger_scripts_admin( $hook ) { if ( 'toplevel_page_mon-plugin' !== $hook ) return; wp_enqueue_style( 'mon-plugin-admin', plugin_dir_url( __FILE__ ) . 'admin/style.css' ); }

5. Sécuriser et optimiser votre plugin WordPress comme un professionnel

Un plugin non sécurisé est une porte ouverte aux attaques. Quand vous créez un plugin WordPress destiné à être utilisé sur de vrais sites, la sécurité n'est pas une option. Voici les pratiques incontournables.

Les nonces WordPress : protéger les formulaires et les actions

Un nonce (number used once) est un jeton de sécurité temporaire. Il garantit qu'une action (soumission de formulaire, suppression d'un élément) provient bien d'un utilisateur légitime et non d'une requête forgée (CSRF).

// Générer le nonce dans le formulaire wp_nonce_field( 'mon_plugin_action', 'mon_plugin_nonce' ); // Vérifier le nonce lors du traitement if ( ! isset( $_POST['mon_plugin_nonce'] ) || ! wp_verify_nonce( $_POST['mon_plugin_nonce'], 'mon_plugin_action' ) ) { wp_die( 'Accès non autorisé.' ); }

Sanitisation et échappement : les deux piliers de la sécurité des données

Deux règles absolues à mémoriser :

  • Sanitiser à l'entrée : nettoyez toujours les données reçues (sanitize_text_field(), absint(), sanitize_email()).
  • Échapper à la sortie : protégez toujours les données affichées (esc_html(), esc_attr(), esc_url()).
// Entrée $texte = sanitize_text_field( $_POST['mon_texte'] ); // Sortie echo esc_html( $texte );

Vérification des droits utilisateur dans un plugin WordPress

Vérifiez toujours que l'utilisateur a les droits nécessaires avant d'exécuter une action sensible.

if ( ! current_user_can( 'manage_options' ) ) { wp_die( 'Vous n'avez pas les droits nécessaires.' ); }

Optimiser les performances d'un plugin WordPress

Un plugin lent pénalise tout le site. Quelques bonnes pratiques :

  • Chargez vos scripts uniquement sur les pages où ils sont nécessaires.
  • Évitez les requêtes SQL dans des boucles. Groupez-les.
  • Utilisez le système de cache de WordPress (wp_cache_set() / wp_cache_get()) pour les données coûteuses.
  • Préfixez toutes vos fonctions, classes et options pour éviter les conflits avec d'autres plugins.

Si vous êtes un créateur de site WordPress en Martinique et que vous proposez des plugins sur mesure à vos clients, ces pratiques font la différence entre un travail amateur et un travail professionnel.

Erreurs fréquentes à éviter quand on crée un plugin WordPress

Voici les pièges dans lesquels tombent presque tous les débutants. Les connaître à l'avance vous fera gagner des heures de débogage.

  • Ne pas préfixer les fonctions et les options. Si votre plugin définit une fonction afficher_message() et qu'un autre plugin fait de même, WordPress génère une erreur fatale. Préfixez toujours : mon_plugin_afficher_message().
  • Modifier les fichiers core de WordPress. Toute modification du cœur sera écrasée à la prochaine mise à jour. Utilisez exclusivement les hooks.
  • Oublier de vérifier les nonces et les droits utilisateurs. C'est la principale source de failles de sécurité dans les plugins WordPress maison.
  • Charger des scripts sur toutes les pages sans condition. Un script jQuery chargé sur chaque page de l'administration ralentit inutilement l'interface.
  • Faire des requêtes SQL brutes sans préparer les données. Utilisez toujours $wpdb->prepare() pour éviter les injections SQL.
  • Ne pas tester sur un environnement de développement. Développer directement en production est une pratique risquée qui peut provoquer des interruptions de service.
  • Ignorer la compatibilité avec les versions de PHP et WordPress. Précisez toujours les versions minimales requises dans votre en-tête de plugin.

Checklist : êtes-vous prêt à créer votre premier plugin WordPress ?

Avant de vous lancer, vérifiez chaque point de cette checklist. Si vous cochez au moins 7 cases sur 10, vous êtes prêt à créer un plugin WordPress fonctionnel dès aujourd'hui.

Compétence / Prérequis Indispensable ? Votre niveau
Notions de base en PHP (variables, fonctions, tableaux) ✅ Oui ☐ Acquis
Comprendre la structure d'un site WordPress ✅ Oui ☐ Acquis
Avoir un environnement local (LocalWP, XAMPP…) ✅ Oui ☐ Acquis
Connaître le principe des hooks (actions/filtres) ✅ Oui ☐ Acquis
Savoir utiliser un éditeur de code (VS Code, PhpStorm…) ✅ Oui ☐ Acquis
Notions de HTML/CSS ⚠️ Recommandé ☐ Acquis
Bases de la programmation orientée objet (POO) ⚠️ Recommandé ☐ Acquis
Notions de sécurité web (XSS, CSRF, injections SQL) ⚠️ Recommandé ☐ Acquis
Lecture de la documentation officielle WordPress ⚠️ Recommandé ☐ Acquis
Avoir déjà installé et configuré un plugin existant ℹ️ Utile ☐ Acquis

Mini plan d'action pour créer son premier plugin WordPress en 7 étapes

  1. Étape 1 : Installez LocalWP sur votre ordinateur et créez un site WordPress local.
  2. Étape 2 : Créez le dossier mon-premier-plugin dans /wp-content/plugins/.
  3. Étape 3 : Créez le fichier mon-premier-plugin.php avec l'en-tête obligatoire.
  4. Étape 4 : Activez le plugin depuis le tableau de bord WordPress.
  5. Étape 5 : Ajoutez votre première action avec add_action() et testez-la.
  6. Étape 6 : Créez une page d'administration simple avec add_menu_page().
  7. Étape 7 : Ajoutez les vérifications de sécurité (nonce, droits, sanitisation).

FAQ : vos questions sur la création d'un plugin WordPress

Faut-il maîtriser PHP pour créer un plugin WordPress ?

Des notions de base en PHP suffisent pour créer un premier plugin WordPress simple. Vous n'avez pas besoin de maîtriser la programmation orientée objet ni les design patterns dès le départ. Comprendre les variables, les fonctions et les tableaux PHP vous permettra déjà de créer des plugins fonctionnels. Au fur et à mesure de vos projets, vous monterez naturellement en compétences. Des ressources comme le Developer Handbook de WordPress sont accessibles même aux débutants.

Combien de temps faut-il pour créer un plugin WordPress fonctionnel ?

Un plugin WordPress minimal (en-tête + une action ou un filtre) peut être créé en moins de 30 minutes. Un plugin avec une page d'administration, des options sauvegardées et des mesures de sécurité de base nécessite entre 2 et 4 heures pour un débutant motivé. La durée dépend surtout de la complexité de la fonctionnalité souhaitée. Commencez par quelque chose de simple, puis ajoutez des fonctionnalités progressivement. C'est la méthode la plus efficace pour apprendre.

Peut-on vendre un plugin WordPress créé soi-même ?

Oui, tout à fait. Vous pouvez distribuer votre plugin gratuitement sur le répertoire officiel WordPress.org, ou le vendre via des plateformes comme CodeCanyon ou votre propre site. Si vous utilisez des bibliothèques sous licence GPL, votre plugin doit également être distribué sous GPL ou une licence compatible. La vente de plugins est un modèle économique viable pour les développeurs freelances, notamment en Martinique où la demande de solutions sur mesure est croissante.

Quelle est la différence entre add_action et add_filter dans WordPress ?

add_action() permet d'exécuter du code à un moment précis sans nécessairement retourner une valeur. add_filter() permet de modifier une valeur existante avant qu'elle soit utilisée par WordPress : votre fonction reçoit la valeur en paramètre et doit obligatoirement la retourner. En résumé : une action fait quelque chose, un filtre transforme quelque chose. Les deux mécanismes constituent le système de hooks de WordPress, qui est la base de tout développement de plugin sérieux.

Comment déboguer un plugin WordPress qui génère une erreur ?

Activez le mode débogage de WordPress en ajoutant define('WP_DEBUG', true); et define('WP_DEBUG_LOG', true); dans votre fichier wp-config.php. Les erreurs seront enregistrées dans /wp-content/debug.log. Installez également le plugin Query Monitor pour surveiller les requêtes, les hooks et les erreurs PHP en temps réel. Sur votre environnement local, activez l'affichage des erreurs PHP dans votre configuration serveur. Ne laissez jamais le mode débogage activé sur un site en production.

Conclusion : passez à l'action et créez votre premier plugin WordPress

Vous avez maintenant toutes les clés pour créer un plugin WordPress de qualité professionnelle. De la structure minimale aux hooks, en passant par l'interface d'administration et la sécurité, chaque étape de ce guide vous rapproche d'une compétence concrète et valorisable.

Retenez l'essentiel : un plugin WordPress, c'est un fichier PHP avec un en-tête, des hooks bien placés et des pratiques de sécurité non négociables. Le reste, c'est de la pratique. Commencez simple, testez souvent, lisez la documentation officielle.

Si vous êtes en Martinique ou dans les Antilles et que vous souhaitez aller plus loin dans votre maîtrise de WordPress — que ce soit pour proposer des services à des clients locaux ou pour développer vos propres projets — une formation structurée peut accélérer considérablement votre progression. Explorez les ressources disponibles sur le blog Solappli pour rester à jour sur les meilleures pratiques du développement WordPress.

Et si vous accompagnez des entreprises locales dans leur transformation numérique, sachez que la capacité à créer un plugin WordPress sur mesure est un argument commercial fort. C'est ce qui vous distingue d'un simple intégrateur et vous positionne comme un véritable expert technique.

Lancez-vous. Votre premier plugin vous attend.

Audit express

Votre site perd-il des clients ?

Audit technique complet en 48h. Rapport détaillé, recommandations priorisées, plan d'action concret.