Vous voulez cacher/supprimer le menu déroulant de tri des produits sur une boutique woocommerce ?

Woocommerce offre, par défaut, la possibilité d’afficher un menu déroulant qui nous donne plusieurs options pour trier le contenu de la requête principale des produits. Cette barre est affichée sur les pages d’archives et de taxonomie.
Les options par défaut sont les suivantes :
- Tri par défaut (personnalisé + nom)
- Popularité (ventes)
- Note moyenne
- Nouveaux
- Trier par prix (croissant)
- Trier par prix (décroissant)
Mais que faire si nous ne voulons pas que cette barre soit affichée ou si nous voulons cacher la possibilité de ce tri ?
Nous pouvons le faire très simplement en nous appuyant sur les hooks et les actions fournis par Woocommerce.
Nous devons d’abord localiser le crochet où l’action (la fonction) qui va nous montrer cette barre. Dans le cas du template de la boutique ou de la catégorie de produit, il s’agit du hook woocommerce_before_shop_loop.
C’est dans ce crochet que woocommerce exécute la fonction woocommerce_catalog_ordering qui affiche le menu déroulant de tri.
Sachant cela, il est très facile de désactiver la fonction car il suffit de désactiver le crochet d’action de cette manière :
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
Il est important d’indiquer la priorité 30 car c’est la priorité utilisée par woocommerce pour afficher la fonction dans le crochet.
C’est la façon de désactiver la barre de tri par PHP, mais on peut aussi simplement la cacher par CSS. De cette façon, woocommerce continue à exécuter l’option mais nous ne l’affichons pas à l’écran.