Introduction au développement de plugins WordPress

📌 Qu’est-ce qu’un plugin WordPress ?

Un plugin WordPress est un module qui ajoute ou modifie des fonctionnalités du CMS. Il peut être utilisé pour :

✅ Ajouter de nouvelles options à l’administration 🛠️
✅ Modifier le comportement du site sans toucher au thème ⚡
✅ Connecter WordPress à des services externes 🌍
✅ Sécuriser, optimiser et améliorer le SEO 🔐

Les plugins sont indépendants du thème et peuvent être activés/désactivés facilement.


🏗️ 1. Configuration de l’environnement de développement

Avant de commencer, assurez-vous d’avoir :

Un environnement local : Local by Flywheel, XAMPP, WAMP, MAMP 🖥️
Un éditeur de code : VS Code, PhpStorm, Sublime Text 💻
Une installation WordPress locale 📌
Des bases en PHP, HTML, CSS et JavaScript

📌 Les plugins WordPress se trouvent dans le dossier :
👉 /wp-content/plugins/

C’est ici que nous allons créer notre plugin 🎉.


🛠️ 2. Créer un plugin WordPress simple

📌 Étape 1 : Créer un dossier pour le plugin

Dans /wp-content/plugins/, créez un dossier nommé mon-plugin :

bashCopierModifier/wp-content/plugins/mon-plugin/

📌 Étape 2 : Ajouter un fichier PHP principal

Dans ce dossier, créez mon-plugin.php et ajoutez l’en-tête du plugin :

phpCopierModifier<?php
/**
 * Plugin Name: Mon Premier Plugin
 * Plugin URI: https://exemple.com
 * Description: Un plugin simple pour WordPress
 * Version: 1.0
 * Author: Votre Nom
 * Author URI: https://votresite.com
 * License: GPL2
 */

📌 Étape 3 : Activer le plugin

Rendez-vous dans WordPress > Extensions et activez « Mon Premier Plugin ». Félicitations 🎉 !


⚙️ 3. Ajouter une Fonctionnalité Simple

Ajoutons une fonction qui affiche un message personnalisé en haut de chaque article 📢.

phpCopierModifierfunction mon_plugin_message($content) {
    if (is_single()) {
        $message = "<div style='border: 2px solid #ff9800; padding: 10px; background: #fff3cd;'>
                        <strong>💡 Astuce :</strong> Profitez de notre offre spéciale !
                    </div>";
        return $message . $content;
    }
    return $content;
}
add_filter('the_content', 'mon_plugin_message');

📌 Cette fonction :
✅ Vérifie si la page est un article (is_single())
✅ Ajoute un message au début du contenu

Rechargez un article pour voir le message ✨ !


🖥️ 4. Ajouter un Menu dans l’Admin

Ajoutons une page d’options pour notre plugin dans le panneau d’administration 🔧.

📌 Créer une nouvelle page d’options :

phpCopierModifierfunction mon_plugin_menu() {
    add_menu_page(
        'Paramètres de Mon Plugin', // Titre de la page
        'Mon Plugin', // Nom dans le menu
        'manage_options', // Capacité requise
        'mon-plugin-options', // Slug
        'mon_plugin_page_contenu', // Fonction d'affichage
        'dashicons-admin-generic', // Icône
        20 // Position
    );
}
add_action('admin_menu', 'mon_plugin_menu');

function mon_plugin_page_contenu() {
    echo "<h1>Bienvenue dans les paramètres du plugin !</h1>";
}

📌 Résultat : Un menu « Mon Plugin » apparaît dans WordPress 🎉 !


🔌 5. Ajouter un Shortcode

Les shortcodes permettent d’insérer du contenu dynamique dans les articles et pages.

📌 Ajouter un shortcode [mon_message] :

phpCopierModifierfunction mon_plugin_shortcode() {
    return "<div style='padding: 10px; background: #e3f2fd; border-left: 4px solid #1e88e5;'>
                <strong>🔹 Message :</strong> Ce contenu a été ajouté avec un shortcode !
            </div>";
}
add_shortcode('mon_message', 'mon_plugin_shortcode');

📌 Utilisation : Ajoutez [mon_message] dans un article ou une page.


🔒 6. Sécuriser le Plugin

Éviter les injections SQL avec des requêtes préparées
Utiliser wp_nonce_field() pour sécuriser les formulaires
Toujours vérifier les permissions avec current_user_can()

Exemple de validation sécurisée 🔒 :

phpCopierModifierif (!defined('ABSPATH')) {
    exit; // Empêche un accès direct
}

🚀 7. Ajouter des Scripts et Styles

Pour ajouter du CSS et JavaScript au plugin :

phpCopierModifierfunction mon_plugin_enqueue_scripts() {
    wp_enqueue_style('mon-plugin-css', plugin_dir_url(__FILE__) . 'style.css');
    wp_enqueue_script('mon-plugin-js', plugin_dir_url(__FILE__) . 'script.js', array('jquery'), false, true);
}
add_action('wp_enqueue_scripts', 'mon_plugin_enqueue_scripts');

📌 Créer style.css et script.js dans le dossier du plugin.


📦 8. Transformer le Plugin en Widget

Ajoutons un widget qui affiche un message personnalisé 📢.

phpCopierModifierclass Mon_Widget extends WP_Widget {
    function __construct() {
        parent::__construct('mon_widget', 'Mon Widget');
    }

    function widget($args, $instance) {
        echo "<div style='background: #dff0d8; padding: 10px; border-left: 4px solid #3c763d;'>
                🌟 Bienvenue sur mon site WordPress !
              </div>";
    }
}

function mon_plugin_register_widget() {
    register_widget('Mon_Widget');
}
add_action('widgets_init', 'mon_plugin_register_widget');

📌 Résultat : Un widget « Mon Widget » est disponible dans Apparence > Widgets 🎉.


🎯 Conclusion : Prochaine Étape

Félicitations 🎊 ! Vous avez créé un plugin WordPress fonctionnel avec :
✅ Un menu admin 🛠️
✅ Un shortcode 📝
✅ Un widget 🎛️
✅ Une meilleure sécurité 🔒

🎯 Prochaine étape : Publier le plugin sur le répertoire WordPress !

💬 Des questions ou suggestions ? Partagez-les en commentaire ! 😊

carle
carle