Séparer les fonctionnalités du cœur logiciel permet à chacun de composer son site à la carte : un formulaire de contact, une boutique en ligne ou un système de cache s’installent et se retirent sans jamais modifier les fichiers d’origine de WordPress, ce qui simplifie considérablement les mises à jour.
Anatomie minimale
Sur le plan technique, une extension n’est rien de plus qu’un dossier placé dans wp-content/plugins/ contenant au moins un fichier PHP muni d’un en-tête reconnu par WordPress :
<?php
/**
* Plugin Name: Ma Première Extension
*/
add_action( 'wp_footer', function () {
echo '<p>Généré par Ma Première Extension</p>';
} );
Tout le reste de la logique repose sur le système de hooks : une extension s’accroche à des actions et des filtres exposés par WordPress plutôt que d’être appelée directement, ce qui la rend interchangeable avec d’autres.
À ne pas confondre
- Contrairement à un thème, une extension n’a pas vocation à gérer l’apparence visuelle du site, même si rien ne l’en empêche techniquement.
- Une extension « mu » (must-use) suit des règles différentes : elle est toujours active et ne peut pas être désactivée depuis l’administration.
- Le répertoire officiel WordPress n’héberge que des extensions gratuites ; les extensions premium se distribuent par d’autres canaux.
- Une extension peut regrouper plusieurs fichiers PHP dans un même dossier, tant que WordPress détecte l’en-tête réglementaire dans au moins l’un d’eux pour la reconnaître comme point d’entrée.