Certaines fonctionnalités ne doivent jamais pouvoir être coupées par erreur : une redirection de sécurité, un réglage imposé par un hébergeur, une contrainte propre à une agence sur les sites de ses clients. Ce type d’extension répond précisément à ce besoin de fonctionnement garanti.
Où et comment
Les fichiers PHP placés directement dans wp-content/mu-plugins/ sont chargés automatiquement par WordPress, avant même les extensions classiques, sans qu’il soit nécessaire de les « activer » :
<?php
/**
* Plugin Name: Réglages imposés
*/
add_filter( 'auto_update_plugin', '__return_true' );
Contrairement aux extensions ordinaires, WordPress ne parcourt pas les sous-dossiers de mu-plugins : seuls les fichiers PHP directement à la racine de ce dossier sont pris en compte, sauf à créer soi-même un fichier de chargement qui inclut les autres.
Pièges fréquents
- Une extension mu n’a pas accès aux crochets d’activation ou de désactivation classiques, puisqu’elle est considérée comme toujours active.
- Elle n’apparaît pas dans la liste principale des extensions installées, mais dans un onglet séparé « Doit être utilisé », en lecture seule.
- Une erreur PHP fatale dans un fichier de
mu-pluginspeut bloquer l’intégralité du site, y compris son propre écran d’administration. - Ce type d’extension est souvent utilisé par les hébergeurs pour imposer des réglages de sécurité ou de performance à tous les sites qu’ils gèrent, sans dépendre du bon vouloir de chaque client.
- Le dossier
mu-pluginsn’existe pas par défaut sur une installation fraîche de WordPress ; il faut le créer manuellement avant d’y déposer un premier fichier.