ActualitésCommandeWordpress

Cacher des plugins WordPress de la liste des extensions sans les désactiver en PHP

Vous avez créé un site internet sous le CMS WordPress et vos clients ont la fâcheuse manie de mettre le modifier, installer et supprimer des plugins et modules de WordPress ? Voici comment solutionner ce problème en les masquant de la liste des extensions sans les désactiver.

Grâce au snippet que nous allons vous présenter, votre interface d’administration sera bien plus simple, clair et plus lisible. Ainsi vos clients n’auront pas l’occasion de mettre le bazar dans votre organisation.

En effet, vous allez pouvoir masquer vos plugins grâce au code source ci-dessous à placer dans le fichier functions.php de votre thème WordPress.

Créer la fonction qui va cacher des extensions dans WordPress en code PHP

  • Tout d’abord, commencez par vous rendre dans le répertoire de votre thème sur le FTP.
  • Une fois dans le bon dossier, éditez le fichier functions.php.
  • Créer la fonction suivante :

// Fonction pour masquer certaines extensions
add_filter( 'all_plugins', 'custom_hide_plugin_entries' );
function custom_hide_plugin_entries( $listePlugins ) {
return $listePlugins;
}

Lister les extensions à masquer

Afin de lister les fonctions que vous souhaitez masquer, il suffit de se rendre dans l’interface d’administration de WordPress dans Extensions.

    • Dans le menu WordPress, sous « Extensions », vous obtiendrez la liste de vos extensions.
    • Il faudra alors se rendre dans le sous-menu « Editeur d’extension ».

Cacher Des Extensions WordPressCacher Des Extensions WordPress

  • Vous obtiendrez alors un extrait du code de la première extension :
Liste Modification Premiere Extension WordPress
Liste Modification Premiere Extension WordPress

Dans la liste déroulante suivante, sélectionner une par une les extensions que vous souhaitez masquer.

Selection Plugin A Cacher WordPress
Selection Plugin A Cacher WordPress
  • Pour chaque extension que vous souhaitez masquer à votre client,en haut à gauche de votre fenêtre sous « Modifier les extensions », vous aurez un sous-titre nommé « Modification de ……. ».
  • Prenons par exemple l’extension AKISMET. Voici son titre « Modification de akismet/akismet.php ».
  • Le texte à copier sera akismet/akismet.php.
  • En PHP, créer alors une variable tableau de type Array() et ajouter sur chaque ligne le nom du fichier de l’extension à masquer.

Vous devriez obtenir un code qui ressemble à celui ci-dessous :

$hiddenPlugins = array(
'akismet/akismet.php', //--- Nom du module à cacher
'module-n2/index.php' //--- Nom d'exemple du module n°2, etc.
);

Suppression de la liste des plugins de WordPress les plugins à masquer à l’utilisateur

Il suffit maintenant de rajouter le code pour cacher les modules.

// Test pour savoir si on se trouve sur la liste des extensions de WordPress
if ( isset( $_GET['showall'] ) && $_GET['showall'] == '1' ) {
return $listePlugins;
}

Puis :

// Boucle sur notre variable $hiddenPlugins pour cacher les extensions dans WordPress
foreach ( $hiddenPlugins as $filenameToHide ) {
unset( $listePlugins[ $filenameToHide ] );
}
return $listePlugins;

Le code complet pour masquer certains extensions dans WordPress

Ici, les plugins sont désactivés de par leur chemin. Maintenant, voici la solution pour les trouver et les « supprimer » de votre liste.

Pour faire plus simple voici le code complet à copier-coller et personnaliser dans votre fichier functions.php de votre thème.

// Fonction pour masquer certaines extensions
add_filter( 'all_plugins', 'custom_hide_plugin_entries' );
function custom_hide_plugin_entries( $listePlugins ) {
$hiddenPlugins = array(
'akismet/akismet.php', //--- Nom du module à cacher
'module-n2/index.php' //--- Nom d'exemple du module n°2, etc.
);
// Test pour savoir si on se trouve sur la liste des extensions de WordPress
if ( isset( $_GET['showall'] ) && $_GET['showall'] == '1' ) {
return $listePlugins;
}
// Boucle sur notre variable $hiddenPlugins pour cacher les extensions dans WordPress
foreach ( $hiddenPlugins as $filenameToHide ) {
unset( $listePlugins[ $filenameToHide ] );
}
return $listePlugins;
}

Cacher tous les modules WordPress : astuce de fin

Vous souhaitez maintenant cacher tous les modules sans devoir chercher les fichiers à cacher un à un ?
Voici le code à insérer dans votre fichier functions.php du thème actif.

// Fonction pour masquer TOUTES certaines extensions
add_filter( 'all_plugins', 'custom_hide_all_plugins' );

Vous remarquerez que vous n’avez pas besoin de rajouter le nom de la fonction. Ajouter juste le add_filter ;).

Afficher plus

Bande 2 Geek

Une équipe de passionné qui a pour but de communiquer son expérience et son savoir-faire dans ce domaine si vaste qu'est l'informatique.

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Bouton retour en haut de la page