WPMarmite

Comment cacher des extensions de la liste des extensions sans les désactiver

Si vous faites des sites pour des clients et qu’ils ont la mauvaise habitude de mettre le bazar dans les plugins, la Marmite a une solution.

Aujourd’hui, nous allons voir comment masquer des extensions sur la page des extensions installées de l’administration.

D’une part, cela évitera que vos clients fassent des bêtises. D’autre part, cela leur simplifiera l’interface de l’administration.

Pas mal non ?

Ce snippet va nous aider à cacher simplement n’importe quel plugin parmi votre liste d’extension sans le désactiver. Pour cela, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

// Ne pas afficher certains plugins actifs de la liste des plugins

add_filter( 'all_plugins', 'wpm_remove_plugin_entries' );

function wpm_remove_plugin_entries( $plugins ) {

// Vous trouverez les liens php des plugins en passant la souris sur le lien "modifier" dans la liste de vos extensions WordPress

// Ici je souhaite cacher les plugins Akismet et Event Calendar de ma liste de plugins
$hidden = array(
'akismet/akismet.php',
'calendar-event/index.php'
);

// Si on est sur la liste de tous nos plugins
if ( isset( $_GET['showall'] ) && $_GET['showall'] == '1' ) {
return $plugins;
}

// On supprime de la liste les plugins définis juste au-dessus
foreach ( $hidden as $filename ) {
unset( $plugins[ $filename ] );
}
return $plugins;
}

Dans ce snippet, vous voyez que les plugins sont désactivés grâce à leur chemin. Voyons comment les trouver pour les supprimer de la liste.

C’est très simple. Rendez-vous dans la liste de vos plugins et laissez la souris sur le lien “modifier” sous le plugin à cacher. Regardez ensuite en bas de votre fenêtre le lien affiché :

Lien de suppression d'un plugin

Ma souris est sur le bouton “modifier” du plugin Calendar Event (non visible sur la capture d’écran). Maintenant, regardez le lien affiché tout en bas de l’image dans l’encadré rouge, il va nous donner le chemin à écrire dans le snippet.

Il faut donc recopier le chemin situé après file= , donc pour ce plugin calendar-event/index.php. Faites de même avec tous les plugins que vous désirez masquer.

Les plugins Akismet et Event Calendar ne sont maintenant plus affichés dans la liste, mais sont toujours actifs:

Quels sont les plugins avec lesquels vous avez utilisé ce snippet ? Partagez-les en commentaire 🙂

Source: 

Quitter la version mobile