[WordPress] Comment désactiver les widgets de base ?

[WordPress] Comment désactiver les widgets de base ?

WordPress est un CMS pratique et complet. Très orienté publication, il est livré de base avec un certain nombre de fonctionnalités et surtout des widgets par défaut qui permettent d’enrichir l’apparence de vos pages.

Parmi ceux-ci, on peut citer le nuage de tags, les catégories, les articles récents… A force d’utiliser WordPress, on en vient souvent à chercher de nouveaux plugins et de nouveaux widgets, qui remplacent avantageusement ceux fournis par défaut.

Au bout d’un moment, la page de choix des widgets en devient illisibles et confuse, et surtout une petite quantité de mémoire est utilisée pour rien.

Le mieux serait de supprimer de cette page les widgets inutiles. Pour cela il faut les désactiver.

Comment désactiver les widgets de base de WordPress ?

Depuis la version 2.8, WordPress fournit une fonction pour désactiver un widget :

unregister_widget()

Pour désactiver, par exemple le nuage de tags, il faut utiliser :

unregister_widget('WP_Widget_Tag_Cloud');

Bien entendu il faut connaitre les ID des principaux widgets livrés par défaut :

  • WP_Widget_Tag_Cloud pour le nuage de tags
  • WP_Widget_Links pour les liens / blogroll
  • WP_Widget_Meta pour les liens d’administration
  • WP_Widget_Categories pour les catégories
  • WP_Widget_Search pour la boite de recherche
  • WP_Widget_Pages pour les pages
  • WP_Widget_Calendar pour le calendrier
  • WP_Widget_Archives pour les archives
  • WP_Widget_Recent_Comments pour les derniers commentaires
  • WP_Widget_Text pour le texte libre
  • WP_Widget_Recent_Posts pour les derniers billets
  • WP_Widget_RSS pour les flux RSS

Pour désactiver efficacement un widget, il faut le faire après l’initialisation complète. Le mieux étant de déclencher cette action après l’appel à la fonction widgets_init().

function supprimer_widgets() {
 unregister_widget('ID_Du_Widget');
// ...
}
 
add_action('widgets_init', 'supprimer_widgets', 1);

Vous devrez ajouter ce bout de code dans le fichier functions.php.

Voila de quoi rationaliser un peu votre page de widgets.