Développement de plugins WordPress : de zéro à un, créer des extensions de site Web puissantes.

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

WordPress, le système de gestion de contenu le plus populaire au monde, doit une grande partie de son évolutivité à son architecture de plugins. En développant des plugins personnalisés, les développeurs peuvent ajouter toutes les fonctionnalités souhaitées à un site web. Cet article vous guidera à travers les concepts fondamentaux, l'architecture et les meilleures pratiques du développement de plugins WordPress depuis le début, pour finalement construire une extension de site web sécurisée, efficace et bien entretenue.

Concepts de base des plugins WordPress

Avant de commencer à écrire du code, il est essentiel de comprendre la composition et le fonctionnement de base d'un plugin WordPress. Un plugin est essentiellement une collection d'un ou plusieurs fichiers qui étendent ou modifient les fonctionnalités de base d'un site web par le biais de l'API (Application Programming Interface) fournie par WordPress.

Structure de base du plug-in

Un plugin WordPress standard nécessite au moins un fichier maître. Ce fichier maître porte généralement le même nom que le répertoire du plugin, par exemple, si votre répertoire de plugin s'appellemy-awesome-pluginle nom du fichier principal peut êtremy-awesome-plugin.php. L'en-tête de ce fichier doit contenir des commentaires d'information spécifiques au plugin, qui sont essentiels à l'identification du plugin par WordPress.

Lectures recommandées Guide de développement du plug-in WooCommerce : créer des fonctionnalités e-commerce personnalisées à partir de zéro.

/**
 * Plugin Name:      我的强大扩展
 * Plugin URI:        https://example.com/my-awesome-plugin
 * Description:       这是一个用于演示的WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * License:           GPL v2 or later
 * Text Domain:       my-awesome-plugin
 */

Comprendre le mécanisme du crochet

Le cœur du fonctionnement des plugins WordPress est le système des “crochets” (Hooks). Il existe deux types de crochets : les crochets d'action et les crochets de filtrage. Les crochets d'action vous permettent d'exécuter un code personnalisé à des moments précis (par exemple, après la publication d'un article, lorsque le menu d'arrière-plan est chargé). Les crochets de filtrage vous permettent de modifier les données utilisées dans le processus (par exemple, le contenu de l'article, le titre, les résultats de la requête).

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.

Par exemple, en utilisant… add_action Les fonctions permettent d'ajouter un paragraphe de texte au bas d'une page lorsqu'un utilisateur visite un site web :

add_action( 'wp_footer', 'my_custom_footer_message' );
function my_custom_footer_message() {
    echo '<p>Merci d’avoir visité ce site web !</p>';
}

Créez votre premier plugin.

Cette section vous guidera pas à pas dans la création d'un plug-in fonctionnel simple afin de vous familiariser avec le processus et l'environnement de développement.

Création de répertoires et de fichiers de plug-ins

Tout d’abord, dans le répertoire d’installation de WordPress…wp-content/pluginsÀ l'intérieur du dossier, créez un nouveau dossier, par exemplegreeting-plugin. Dans ce dossier, créez le fichier PHP principalgreeting-plugin.phpet écrire les informations d'en-tête du plugin ci-dessus.

Mettre en œuvre une fonction d'accueil simple

Nous allons créer un widget qui affiche un message d'accueil dans le tableau de bord du site web. Dans le fichier principal, ajoutez le code suivant pour utiliser la fonction wp_dashboard_setup Des déclencheurs d'action.

Lectures recommandées Analyse des fichiers des plugins de base de WordPress

add_action( 'wp_dashboard_setup', 'greeting_plugin_add_dashboard_widget' );
function greeting_plugin_add_dashboard_widget() {
    wp_add_dashboard_widget(
        'greeting_dashboard_widget', // 小部件ID
        '每日问候', // 小部件标题
        'greeting_dashboard_widget_content' // 回调函数,用于输出内容
    );
}
function greeting_dashboard_widget_content() {
    $user = wp_get_current_user();
    echo '<h3>你好,' . esc_html( $user-&gt;display_name ) . '!</h3>'echo '<p>Je te souhaite une bonne journée au travail !</p>';
}

Après avoir effectué les étapes ci-dessus, connectez-vous au backend de WordPress et allez sur la page “Plugins”, vous devriez voir le plugin appelé “My Powerful Extensions”, activez-le. Ensuite, rafraîchissez la page du tableau de bord et vous verrez le widget “Daily Greetings” nouvellement ajouté.

Développement de plugins Pratique avancée

Un plugin qui fonctionne bien doit généralement gérer les options de réglage, les ressources statiques et respecter les spécifications de sécurité.

Création d'une page de gestion des plugins

L'ajout d'une page de configuration à un plugin est un besoin courant. Cela se fait généralement par l'intermédiaire de l'option add_menu_page Ou add_submenu_page est effectuée. Le code suivant montre comment ajouter un élément de menu de haut niveau à la barre latérale de l'administrateur du jour suivant.

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%.
add_action( 'admin_menu', 'my_plugin_create_admin_page' );
function my_plugin_create_admin_page() {
    add_menu_page(
        '我的插件设置', // 页面标题
        '我的插件', // 菜单标题
        'manage_options', // 所需权限
        'my-plugin-settings', // 菜单slug
        'my_plugin_settings_page_content', // 用于渲染页面的回调函数
        'dashicons-admin-generic', // 图标
        80 // 菜单位置
    );
}
function my_plugin_settings_page_content() {
    // 检查用户权限
    if ( !current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段、非ces等(需要与register_setting配合)
            settings_fields( 'my_plugin_options' );
            do_settings_sections( 'my-plugin-settings' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="fr"/></form>
    </div>
    &lt;?php
}

Sécurité et validation des données

Dans le développement d'un plugin, le traitement direct des entrées utilisateur sans validation ni échappement constitue un risque sérieux pour la sécurité.WordPress fournit une série de fonctions pour assurer la sécurité.
- Validation : vérifie si les données d'entrée sont dans le format attendu (par exemple, s'il s'agit d'une boîte aux lettres ou d'un numéro).
- Assainissement : nettoie les données d'entrée et supprime les caractères dangereux (par exemple, en utilisant la fonction sanitize_text_field (Traitement des champs de texte).
- Échappatoire : lors de la sortie de données vers HTML, JavaScript ou des URL, l'échappement est effectué pour prévenir les attaques XSS (par exemple, à l'aide de la balise esc_html, esc_js, esc_url)。

Veillez à utiliser la fonction de nettoyage lors de l'enregistrement des options de configuration :

$safe_value = sanitize_text_field( $_POST['my_field'] );
update_option( 'my_plugin_field', $safe_value );

Chargement des scripts et des feuilles de style

Pour que l'interface front-end ou back-end du plugin soit esthétiquement agréable, les fichiers CSS et JavaScript doivent être chargés correctement. Cela doit être fait à l'aide de l'option wp_enqueue_script et wp_enqueue_style et s'assurer qu'elle n'est chargée que sur les pages qui en ont besoin.

Lectures recommandées Maîtriser les champs personnalisés de WooCommerce : Guide avancé de développement, de la création à l'affichage

add_action( 'admin_enqueue_scripts', 'my_plugin_load_admin_assets' );
function my_plugin_load_admin_scripts( $hook ) {
    // 仅在我们的插件设置页面加载
    if ( 'toplevel_page_my-plugin-settings' != $hook ) {
        return;
    }
    wp_enqueue_style(
        'my-plugin-admin-style',
        plugins_url( 'css/admin-style.css', __FILE__ )
    );
    wp_enqueue_script(
        'my-plugin-admin-script',
        plugins_url( 'js/admin-script.js', __FILE__ ),
        array( 'jquery' ), // 依赖jQuery
        '1.0.0',
        true // 在底部加载
    );
}

Lancement et maintenance des plugins

Une fois le développement terminé, vous pouvez souhaiter le partager avec d'autres ou le commercialiser. Cela implique l'optimisation du code, la préparation de l'internationalisation et le processus de diffusion.

Internationalisation et localisation

Pour que le plugin puisse être utilisé par des utilisateurs du monde entier, il doit prendre en charge plusieurs langues. Pour ce faire, il faut utiliser les fonctions de traduction de WordPress. Tout texte devant être traduit doit l'être à l'aide de l'option __() Ou _e() et déclarée dans l'en-tête du pluginText Domain

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.
echo '<h2>' . esc_html__( 'settings', 'my-awesome-plugin' ) . '</h2>' ;
$button_text = __('Click to save', 'my-awesome-plugin' ) ;

Ensuite, à l'aide d'un outil tel que PoEdit, extrayez toutes les chaînes de traduction pour générer le fichier.potFichiers destinés aux traducteurs pour leur création..poet.moFichiers de langue.

Optimisation du code et performance

Un bon plugin doit tenir compte des performances. Évitez d'exécuter tout le code à chaque chargement de page, et la logique du code doit être suspendue à des crochets appropriés. Pour les requêtes de base de données complexes, envisagez d'utiliser un mécanisme de mise en cache tel que l'API Transients de WordPress :set_transient(), get_transient(), delete_transient()

Assurez-vous également que le plugin nettoie les données qu'il crée (par exemple les tables, les options) lorsqu'il est désinstallé. Cela peut être fait en enregistrant un crochet de désinstallation. Créez une fonction dans le fichier principal du plugin et utilisez la fonction register_uninstall_hook Inscrivez-vous.

register_uninstall_hook( __FILE__, 'my_plugin_uninstall' );
function my_plugin_uninstall() {
    // 删除插件创建的所有选项
    delete_option( 'my_plugin_option_1' );
    delete_option( 'my_plugin_option_2' );
    // 如果创建了数据库表,这里也需执行DROP TABLE语句
}

résumés

Le développement de plugins WordPress est un processus de transformation d'idées en fonctionnalités, qui repose sur une compréhension approfondie et une utilisation compétente du système de crochets, des API et des normes de codage de WordPress. Chaque étape du processus doit être soigneusement étudiée, de la création de la structure de base du plugin à la mise en œuvre des fonctionnalités, en passant par la sécurisation et l'optimisation des performances et la préparation de l'internationalisation et de la mise en ligne. Le respect des meilleures pratiques (par exemple, la validation des données, l'échappement sécurisé, le chargement des ressources à la demande) permet non seulement de créer des extensions puissantes, mais aussi de garantir leur stabilité, leur sécurité et leur maintenabilité, offrant ainsi une valeur fiable aux utilisateurs.

FAQ Foire aux questions

Quelles sont les connaissances préalables requises pour développer un plugin WordPress ?

Vous devrez avoir une connaissance de base du langage de programmation PHP, car la logique de base du plugin est écrite en PHP. Vous devez également avoir des connaissances de base en HTML, CSS et JavaScript pour construire des interfaces et des interactions frontales. Plus important encore, vous devez être familier avec les concepts de base de WordPress tels que les articles, les pages, les rôles des utilisateurs et le système de crochets.

Comment déboguer un plugin WordPress en cours de développement ?

Il est recommandé d'activer le mode de débogage de WordPress dans votre environnement de développement. Activez le mode de débogage dans la sectionwp-config.phpDans le document, il sera indiqué que...WP_DEBUGLa constante est définie àtrue. Cela permet d'afficher les erreurs, les avertissements et les notifications de PHP à l'écran. Il est également possible d'utiliser la fonctionerror_log()écrit des informations de débogage personnalisées dans le journal des erreurs du serveur ou utilise les panneaux Console et Réseau des outils de développement du navigateur pour vérifier les problèmes liés aux requêtes JavaScript et AJAX.

Comment mon plugin peut-il être compatible avec le thème ainsi qu’avec d’autres plugins ?

Pour maximiser la compatibilité, utilisez toujours les API et les fonctions officielles fournies par WordPress pour effectuer vos tâches et évitez de faire des appels directs à la base de données ou de modifier les fichiers principaux. Ajoutez des préfixes uniques aux noms de vos fonctions, classes et options pour éviter les conflits de noms. Dans la mesure du possible, fournissez des crochets de filtrage qui permettent à d'autres développeurs de modifier le comportement de votre plugin, ce qui peut grandement améliorer l'évolutivité et la convivialité du plugin.

Les plugins doivent-ils être soumis au répertoire officiel des plugins de WordPress ?

Si votre plugin est générique, utile et conforme aux directives du WordPress Plugin Directory (gratuit, sans code malveillant, adhère à la licence GPL, etc.), le soumettre au répertoire officiel est une excellente option. ), le soumettre au répertoire officiel est une excellente option. Cela peut conduire à une grande exposition, à un mécanisme de mise à jour automatique et à la confiance des utilisateurs. Pour les plugins commerciaux ou spécifiques à une fonctionnalité, vous pouvez choisir de les distribuer sur votre propre site web, mais là encore, vous devez fournir une documentation claire et un support pour les mises à jour.