Désactiver les colonnes latérales (sidebars) de WooCommerce

Mis à jour le :

WooCommerce, l’un des meilleurs plugins e-commerce pour WordPress, affiche nativement des colonnes latérales. Avec un thème classique, une astuce en une ligne de code permet de les désactiver toutes d’un seul coup.

Dans le fichier functions.php de votre thème enfant, copiez la ligne de code ci-après :

remove_action('woocommerce_sidebar', 'woocommerce_get_sidebar', 10);

Ajoutée seule dans un plugin de fonctions globales (mu-plugin), cette ligne reste sans effet : ce type d’extension est chargé avant WooCommerce, qui n’a pas encore déclaré l’action à retirer. Il faut alors attendre le chargement de WooCommerce, par exemple avec le crochet init :

/**
 * Remove the sidebar that WooCommerce adds to the shop and product pages.
 */
function wpc_remove_woocommerce_sidebar() {
	remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
}
add_action( 'init', 'wpc_remove_woocommerce_sidebar' );

La colonne latérale disparaît alors de la boutique, des catégories et étiquettes de produits et des fiches produits, dont les modèles appellent cette action. Les pages Panier, Validation de la commande et Mon compte sont en revanche des pages classiques : leur colonne éventuelle dépend du modèle de page de votre thème.

Si une colonne reste affichée sur la boutique ou les fiches produits, c’est qu’elle est insérée autrement, par votre thème lui-même ou par le code de compatibilité que WooCommerce lui réserve : c’est le cas, par exemple, avec Storefront et Twenty Seventeen. Consultez alors la documentation de votre thème.

Avec un thème à blocs comme Twenty Twenty-Five, ce code est inutile : WooCommerce y affiche la boutique et les fiches produits avec ses propres modèles (Catalogue de produits, Produit individuel…), qui ne comportent pas de colonne latérale. Pour en ajouter ou en retirer une, modifiez directement ces modèles dans Apparence > Éditeur > Modèles.

Pour faire évoluer votre boutique sans casser votre thème, appuyez-vous sur mon offre de maintenance WooCommerce.

Pour reprendre totalement la main sur l’affichage, voyez comment désactiver les styles CSS de WooCommerce.

Avatar de Mickaël Gris

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

20 réponses

  1. Avatar de Didier
    Didier

    Bonjour je cherche à supprimer SVP la colonne latérale droite woocommerce que j’ai malencontreusement activé avec option widget astra wocommerce .Je pensais pouvoir la désactiver en supprimant les widgets à l’intérieur mais la colonne reste active sans widget… J’utilise le thème astra pro et j’ai désactivé le widget woocomerce pour astra mais il reste … Avant ma page boutique ,panier et commande étaient en grand écran mais depuis l’activation du widget il reste cette colonne vide qui rétrécie ma page panier ( peu esthétique )
    Merci de votre aide 🙂

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Il y a sans doute une option dans le thème pour gérer cela, sinon voyez avec leur support. 😉

  2. Avatar de destef
    destef

    Bonjour,
    Pour info, ça ne fonctionne pas pour Storefront.

  3. Avatar de Eugene bos
    Eugene bos

    Merci. Apres avoir supprimé cette barre, ca ne va pas laisser d’espace ? si oui quel bout de css pour l’ajouster et ou peut t-on la placer ? dans fichier.css ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Non car le code HTML sera retiré à moins que le thème soit mal fait.

  4. Avatar de lizbiout
    lizbiout

    Cette ligne de code met en l’air tout mon site… heureusement que j’avais une copie du fichier…

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Hormis masquer les colonnes latérales de WooCommerce, elle ne perturbera rien d’autres.

  5. Avatar de didi
    didi

    marche pas. la barre se se désasctive pas dans woocommerce.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Et pourtant c’est le bon hook mais votre thème gère peut être cela différement.

  6. Avatar de Jean
    Jean

    Salut,

    Je cherche depuis un moment à enlever les widget du plugin woocommerce, sans succès. J’ai essayé de placer ton code un peu partout dans le fichier en question, mais sans succès. Voici tout le code du fichier function.php

    Peux-tu m’indiquer où placer ton code ? Merci

    <?php

    /* Chargement de la feuille du style du theme parent */
    add_action( 'wp_enqueue_scripts', 'wpchild_enqueue_styles' );
    function wpchild_enqueue_styles(){
    wp_enqueue_style( 'wpm-mellow-style', get_template_directory_uri() . '/style.css' );
    }

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Hello Jean,

      le code se place après une balise PHP ouvrante tout simplement.

  7. Avatar de Nad
    Nad

    Bonjour, auriez-vous une astuce pour la déplacer au lieu de la supprimer ? Par exemple, ma Shop Sidebar se place tout en-dessous de mes produits… Dans la logique des choses, je voudrais qu’elle remonte juste à gauche de mes produits. Un code pour cela ?

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Il faut sans doute modifier la structure HTML et les styles CSS pour cela.

  8. Avatar de Stephanie
    Stephanie

    Hello,

    Un petit mot pour te remercier, car j’étais vraiment embêtée : sur la page de produits Woocommerce j’avais un liste de mes pages … impossible de la faire dégager et là, c’est fait en 2 secondes ! Merci !

  9. Avatar de Séverine
    Séverine

    Bonjour,

    En effet, dans la page functions.php.

    En fait, je me suis mal exprimée : à quel endroit faut-il placer cette ligne de code dans la page functions.php ?

    Merci et bon week-end 🙂

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Juste après une balise PHP ouvrant, le mieux étant de passer par un client FTP et ouvrir le fichier dans un éditeur de code pour bénéficier de la coloration syntaxique ce qui évite les erreurs. 😉

  10. Avatar de Séverine
    Séverine

    Bonsoir.

    Où doit-on placer ce code pour que cela fonctionne svp ?

    Merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      La réponse est dans le tutoriel. 😉

  11. Avatar de aem
    aem

    le pb c’est que ca passera pas les maj de wordpress et des templates …

    existe t il une autre solution ? à part theme enfant.

    Sebastien

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Comme indiqué dans le tutoriel, il faut utiliser un plugin de type mu-plugins ou bien un thème enfant pour passer les mises à jour sans soucis. 😉