Vous êtes ici : Accueil | Snippets WordPress | Widgets | Comment désactiver les widgets par défaut de WordPress

Comment désactiver les widgets par défaut de WordPress

supprimer categorie article page blog snippet

Si vous n’avez pas besoin des widgets par défaut de WordPress, vous pouvez simplement les désactiver pour éviter qu’ils ne soient chargés par WordPress et économiser quelques requêtes.

Si vous ne savez pas ce que sont les widgets, vous pourrez tout découvrir en vous rendant sur cet article.

Pour ce faire, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

add_action( 'widgets_init', 'wpm_remove_default_widgets' );

function wpm_remove_default_widgets() {

  unregister_widget( 'WP_Widget_Pages' ); // Le widget Pages
  unregister_widget( 'WP_Widget_Calendar' ); // Le widget Calendrier
  unregister_widget( 'WP_Widget_Archives' ); // Le widget Archives
  unregister_widget( 'WP_Widget_Meta' ); // Le widget Meta
  unregister_widget( 'WP_Widget_Search' ); // Le widget Rechercher
  unregister_widget( 'WP_Widget_Text' ); // Le widget de texte
  unregister_widget( 'WP_Widget_Media_Audio' ); // Le widget Audio
  unregister_widget( 'WP_Widget_Media_Image' ); // Le widget Image
  unregister_widget( 'WP_Widget_Media_Video' ); // Le widget Vidéo
  unregister_widget( 'WP_Widget_Custom_HTML' ); // Le widget HTML personnalisé
  unregister_widget( 'WP_Widget_Categories' ); // Le widget catégories
  unregister_widget( 'WP_Widget_Recent_Posts' ); // Le widget articles récents
  unregister_widget( 'WP_Widget_Recent_Comments' ); // Le widget Commentaires récents
  unregister_widget( 'WP_Widget_RSS' ); // Le widget RSS
  unregister_widget( 'WP_Widget_Tag_Cloud' ); // Le widget nuage d'étiquettes
  unregister_widget( 'WP_Nav_Menu_Widget' ); // Le widget menu personnalisé

}

Et voilà, tous ces widgets ne seront maintenant plus chargés sur votre site WordPress.

Chaque ligne correspondant à un widget, vous pouvez supprimer (ou commenter) les lignes des widgets que vous souhaitez conserver.

La liste complete des classes des widgets par défaut de WordPress est disponible sur Github.

En fait, il s’agit du fichier source nommé default-widgets.php localisé dans le répertoire wp-includes dont le rôle est de charger les widgets.

Fichier default-widgets-php de WordPress

Comme vous pouvez le constater, chaque classe est indiqué en commentaire au dessus des fonctions require_once().

Si vous regardez bien le snippet, deux classes de widget n’ont pas été incluses. Voyez-vous lesquelles ?

En tout cas, nous espérons que ce morceau de code vous a été utile 🙂

Vous débutez ? Procurez-vous le Kit du Freelance WordPress

Trouver les bons clients, leur vendre des prestations et bien communiquer avec eux n'est pas inné. Évitez les galères et gagnez du temps en vous formant aux côtés de ces 7 professionnels.

Commencer maintenant

10 commentaires Ajoutez le vôtre

  1. Ça c’est top, merci mille fois !

    Répondre
    • Merci Bambi !

    • JEAN Bambi !

  2. Bonjour, surement question bête dont vous ne pouvez pas répondre mais lorsque je met ce code dans mon functions.php du thème enfant cela met HS le site (code 500).
    J’avais avant bien enlevé les lignes des widgets que j’utilise.
    Est ce que certain thème (comme le miens) peuvent empêcher ce genre d’exécution de fonctions ?

    Répondre
    • Bonjour, verifie que tu n’as pas fait de fautes de frappes ou d’erreurs de ponctuations.

  3. Merci Julien pour la réponse.
    Je cherches mais je pense avoir bien vérifié et ne trouve pas d’erreur de ponctuations (j’ai essayer après avoir essayé plusieurs copier-coller (en enlevant ou pas des lignes) 🙁
    Je vais continuer à chercher car comme souvent surement un truc à la c..

    Répondre
  4. Bonsoir, Alex

    Cela fonctionne très bien, merci mille fois

    Répondre
  5. Bonjour,
    Je suis une initiée bloquée par mes connaissances limitées en CSS.
    J’ai construit mes pages de mon site, par sections, grâce à visuel composer, pour pouvoir insérer des widgets, là je veux dans la page.
    Pour ce faire, j’ai désactivé les widgets latéraux prévus par mon template « up finance »
    Toutefois, je bug avec le « wp_Recent Posts, dont le wp_Recent Posts Setting ne me permet pas d’exclure une catégorie spécifique de ma liste d’articles.
    Existe t -il un snippet qui je pourrais insérer dans « Additional CSS » pour créer le filtre sollicité au niveau du « Recent Post widget »? Merci

    Répondre
    • Bonjour, ça n’est pas possible en CSS. Il faudrait passer par le PHP. Cependant le widget de base de WP le fait il me semble.

  6. Merci julien pour ton retour.
    En effet, les widgets de base de Wp prévoit cette restriction (via custumize). Cependant, moi j’ ai désactivé les widget du sidebar latéral.
    En fait, j’ai opté afin de maitriser la strcuture de ma page, d’insérer les widgets dans les sections ajouter à volonté de Visual composer, grâce à l’outil « Wp Query ».
    Malheureusement, ce dernier ne dispose pas des mêmes libertés de parémetrage que la custumisation prévu par le thème.

    j’ai trouvé un contournement en ajoutant le snippet suivant, grâce au plugin « code snippets »:
    add_filter(‘widget_posts_args’, ‘exclude_category_recent_posts_widget’);
    function exclude_category_recent_posts_widget($params) {
    $params[‘category__not_in’] = ’68’;
    return $params;

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

La Marmite ne peut malheureusement pas fournir de support. Merci d'en tenir compte dans votre commentaire 😉

Si vous ne lui en voulez pas, donnez-lui un j'aime sur Facebook :



76e8f32a7bd50fc842a0a7ae261fb954PPPPPPPPPPPPPPPPPP
38 Partages
Partagez25
Tweetez6
Partagez7