Tuto : comment cacher des plugins Wordpress en PHP ?

Tuto : comment cacher des plugins WordPress en PHP ?

Alex Marchais


La sécurisation des plugins WordPress critiques protège votre site contre les manipulations accidentelles non-techniques, particulièrement en environnement multi-utilisateurs.

  • Protection essentielle contre la désactivation involontaire de plugins critiques par des utilisateurs non techniques
  • Technique simple utilisant du code PHP dans le fichier functions.php pour masquer certaines extensions
  • Simplification de l’interface d’administration tout en maintenant la fonctionnalité complète
  • Solution éprouvée pour garantir la stabilité et la sécurité des sites WordPress sur le long terme

Quand j’ai démarré Net & Com Agency en pleine pandémie, je me suis vite retrouvé face à un défi récurrent : sécuriser les sites WordPress de mes clients contre les manipulations accidentelles. Masquer certains plugins critiques est devenu une pratique essentielle dans mon quotidien de développeur. Si vous cherchez à protéger votre installation WordPress, vous êtes au bon endroit. Je vais vous montrer comment dissimuler des plugins via du code PHP, une technique que j’utilise régulièrement pour mes clients du Périgord qui ne sont pas tous des experts en développement web.

Pourquoi masquer des plugins WordPress

La gestion d’un site WordPress implique souvent l’installation de nombreux plugins essentiels au bon fonctionnement du site. Ces extensions critiques ne devraient jamais être désactivées ou supprimées par inadvertance, surtout lorsque plusieurs personnes ont accès au tableau de bord d’administration.

Lors de mes interventions auprès des commerçants locaux, j’ai constaté que beaucoup d’entre eux, peu familiers avec les subtilités techniques, désactivaient parfois des plugins cruciaux en pensant faire le ménage dans leur site. Un client restaurateur m’a appelé en urgence un samedi soir car son site de réservation était tombé après qu’il ait désactivé un plugin « qui ne servait à rien » selon lui.

A lire également :  Ouvrir un fichier .gpx avec Google Maps : comment faire ?

Voici les principaux avantages à masquer certains plugins :

  • Protection contre les manipulations accidentelles par des utilisateurs non techniques
  • Sécurisation des fonctionnalités critiques du site
  • Simplification de l’interface d’administration pour les clients
  • Réduction des risques de conflits ou de dysfonctionnements
  • Maintien de la stabilité du site sur le long terme

La méthode que je vous présente utilise du code PHP inséré dans le fichier functions.php, une solution élégante que j’ai peaufinée au fil des projets sur mon court de tennis préféré (où les meilleures idées me viennent souvent entre deux services).

Masquer des plugins avec le fichier functions.php

La solution la plus propre pour cacher des plugins consiste à ajouter du code PHP dans le fichier functions.php de votre thème enfant. Cette approche permet de filtrer la liste des plugins affichés dans l’interface d’administration sans affecter leur fonctionnement.

Voici le code à insérer dans votre fichier functions.php :

php
// Masquer des plugins spécifiques dans l'interface d'administration
function masquer_plugins_critiques($plugins) {
    // Liste des plugins à masquer (nom du dossier/fichier principal)
    $plugins_a_masquer = array(
        'akismet/akismet.php',
        'wordfence/wordfence.php',
        'wp-rocket/wp-rocket.php',
        'yoast-seo/wp-seo.php',
        'elementor/elementor.php'
    );
    
    // Masquer les plugins uniquement pour les utilisateurs non-administrateurs
    if (!current_user_can('manage_options')) {
        foreach ($plugins_a_masquer as $plugin) {
            unset($plugins[$plugin]);
        }
    }
    
    return $plugins;
}
add_filter('all_plugins', 'masquer_plugins_critiques');

Configuration et personnalisation du code

Adaptez la liste des plugins selon vos besoins spécifiques. Dans l’exemple ci-dessus, j’ai inclus les extensions que je protège systématiquement chez mes clients : Akismet pour l’anti-spam, Wordfence pour la sécurité, WP Rocket pour la performance, Yoast SEO pour le référencement et Elementor pour la construction de pages.

Pour identifier le nom exact d’un plugin à masquer, rendez-vous dans le dossier /wp-content/plugins/ de votre installation WordPress. Le format à utiliser est toujours : nom-du-dossier/fichier-principal.php.

La condition current_user_can('manage_options') garantit que seuls les administrateurs voient l’intégralité des plugins installés, préservant ainsi leur capacité de gestion complète.

A lire également :  Comment aller sur Google avec la PS5 ?

Bonnes pratiques et recommandations

Utilisez toujours un thème enfant pour implémenter cette modification. Cela évite que votre code disparaisse lors des mises à jour du thème principal. Si vous n’avez pas encore créé de thème enfant, c’est le moment idéal pour le faire.

Documentez soigneusement les plugins masqués dans un fichier texte que vous conservez précieusement. Cette liste vous sera utile le jour où vous devrez intervenir sur le site ou former un nouveau collaborateur.

Testez systématiquement cette modification sur un environnement de développement avant de l’appliquer en production. Bien que le risque soit minimal, la prudence reste de mise dans notre métier.

Alternative pour les environnements complexes

Pour les sites avec une gestion d’utilisateurs plus élaborée, vous pouvez affiner les permissions selon les rôles :

php
function masquer_plugins_par_role($plugins) {
    $plugins_critiques = array(
        'akismet/akismet.php',
        'wordfence/wordfence.php'
    );
    
    // Masquer pour les éditeurs et contributeurs uniquement
    if (current_user_can('edit_posts') && !current_user_can('manage_options')) {
        foreach ($plugins_critiques as $plugin) {
            unset($plugins[$plugin]);
        }
    }
    
    return $plugins;
}
add_filter('all_plugins', 'masquer_plugins_par_role');

Conclusion

Masquer des plugins WordPress critiques représente une mesure de sécurité simple mais efficace pour protéger vos sites contre les manipulations accidentelles. Cette technique, que j’applique systématiquement depuis mes débuts avec Net & Com Agency, a permis d’éviter de nombreux incidents chez mes clients du Périgord.

La mise en œuvre est rapide, réversible et n’affecte en rien les performances du site. Elle contribue à créer un environnement de travail plus serein pour les utilisateurs non techniques tout en préservant la stabilité de l’installation WordPress.

N’hésitez pas à adapter ce code selon vos besoins spécifiques et à le documenter soigneusement. Votre futur vous remerciera lors de la prochaine intervention sur le site, surtout si elle a lieu un dimanche matin après un match de tennis particulièrement intense !

A lire également :  Décompresser un fichier RAR en ligne : comment procéder ?

Cette approche fait partie intégrante d’une stratégie globale de sécurisation WordPress. Combinée à d’autres bonnes pratiques comme les sauvegardes régulières et les mises à jour automatiques, elle contribue à maintenir vos sites en parfaite santé sur le long terme.

alex
Alex Marchais
Ingénieur passionné et fondateur de Net & Com Agency, Alex Marchais accompagne les entreprises périgourdines dans leur transformation digitale tout en partageant sa veille technologique sur ce blog.

Laisser un commentaire