Avec ce nouveau snippet, vous allez pouvoir modifier le fil d’Ariane (breadcrumb) sur les pages produits WooCommerce et masquer certaines catégories spécifiques dans les listes de taxonomies du site public (mais pas dans l’administration). Il permet ainsi de nettoyer ou filtrer la navigation visible pour les utilisateurs, sans affecter la gestion côté admin.
Voici comment masquer certaines catégories spécifiques via un simple snippet de code à insérer dans votre thème WordPress. Une fois activé, les catégories spécifiées sont invisibles côté public (navigation, menus, filtres par catégorie…), mais restent accessibles dans le back-office WooCommerce pour l’administration des produits.
Résultat : un fil d’Ariane personnalisé, propre et sans les catégories indésirables, mais toujours fonctionnel pour la navigation SEO et UX.
1|Information
Avant d’utiliser ce snippet, assurez-vous d’avoir installé l’extension Code Snippets (gratuite) sur votre site WordPress. Si ce n’est pas le cas, vous pouvez la télécharger via le lien ci-dessous. Si vous n’avez jamais ajouté de fonctionnalité spécifique à votre site WordPress, nous vous recommandons de commencer par lire notre guide dédié (lien ci-dessous).
2|Prérequis
Voici la liste des extensions nécessaires au bon fonctionnement de ce snippet. Assurez-vous de les installer avant d’activer le snippet.
WooCommerce | Nécessaire pour la vente de produits virtuels sur votre site |
3|Snippet
Voici le snippet à utiliser. Les commentaires à l’intérieur du code vous guideront sur le fonctionnement de ce snippet.
Assurez-vous de cocher la case « Run snippet everywhere » avant d’activer le snippet.
/** Here's how to hide specific categories using a simple code snippet that you can insert into your WordPress theme. Once activated, the specified categories will be invisible to the public (navigation, menus, category filters, etc.), but will remain accessible in the WooCommerce back office for product administration. */
<?php
add_filter(
"woocommerce_get_breadcrumb",
"disableBreadCrumbCategories",
20,
2
);
function disableBreadCrumbCategories($crumbs, $breadcrumb)
{
if (!is_product()) {
return $crumbs;
}
global $post;
$product = wc_get_product($post->ID);
if (!$product) {
return $crumbs;
}
// Categories to Exclude from Breadcrumn
$excl_slugs = ["cat-1", "cat-2", "cat-3"];
// Product Categories
$terms = get_the_terms($post->ID, "product_cat");
if (!$terms || is_wp_error($terms)) {
return $crumbs;
}
$selected_term = null;
foreach ($terms as $term) {
if (!in_array($term->slug, $excl_slugs)) {
$selected_term = $term;
break;
}
}
// If all categories are excluded, do nothing
if (!$selected_term) {
return $crumbs;
}
// Rebuild Terms Hierarchy
$hierarchy = [];
$term_id = $selected_term->term_id;
while ($term_id != 0) {
$term = get_term($term_id, "product_cat");
if (!$term || is_wp_error($term)) {
break;
}
if (!in_array($term->slug, $excl_slugs)) {
$hierarchy[] = [$term->name, get_term_link($term)];
}
$term_id = $term->parent;
}
// Reverse to get the parent category first
$hierarchy = array_reverse($hierarchy);
// Rebuild the Breadcrumb
$new_crumbs = [];
// Keep Home and Shop
foreach ($crumbs as $crumb) {
if (in_array($crumb[0], ["Home", "Shop"])) {
$new_crumbs[] = $crumb;
}
}
// Add Categories
$new_crumbs = array_merge($new_crumbs, $hierarchy);
// Add Product Name
$last = end($crumbs);
$new_crumbs[] = $last;
return $new_crumbs;
}
function hideWooCommerceCategories($terms, $taxonomies, $args)
{
if (is_admin()) {
return $terms;
}
$excl_slugs = ["cat-1", "cat-2", "cat-3"];
if (in_array("product_cat", (array) $taxonomies)) {
foreach ($terms as $key => $term) {
if ( !is_int($term) ) {
if (in_array($term->slug, $excl_slugs)) {
unset($terms[$key]);
}
}
}
}
return $terms;
}
add_filter("get_terms", "hideWooCommerceCategories", 10, 3);
Pourquoi ce code est utile ?
- Contrôle UX/SEO : ne pas afficher des catégories techniques, internes ou redondantes.
- Nettoyage du fil d’Ariane pour une meilleure lisibilité.
- Réduction du bruit dans les filtres, menus ou pages d’archives côté utilisateur.
Allez plus loin
Ce type de personnalisation montre à quel point WooCommerce peut être étendu via des filtres et actions WordPress. Si vous souhaitez davantage personnaliser votre programme de fidélité, pensez à consulter la documentation WooRewards ou à faire appel à un développeur WordPress expérimenté (voir notre page de Développements sur mesure).
Nos extensions
Nous avons créé des extensions performantes et largement plébiscitées pour WooCommerce. Boostez vos ventes grâce à nos solutions
WooRewards
Découvrez l'extension de fidélité la plus puissante pour WooCommerce. Systèmes simples ou par niveaux, parrainages, réseaux sociaux, badges et succès, vous y trouverez tous les outils pour construire VOTRE programme de fidélité
En savoir plusVIP Memberships
VIP Memberships est un outil complet de gestion d'adhésions (memberships) pour votre site WooCommerce. Vendez des abonnements à vos clients et faites les profiter d'avantages comme des prix préférentiels ou des produits exclusifs
En savoir plusVirtual Wallet
Offrez à vos clients un portefeuille virtuel sur votre site web. Laissez-lez emmagasiner de l'argent en achetant vos produits et utiliser ce crédit lors de futurs achats. Cette extension propose aussi un outil de carte cadeaux complet
En savoir plusReferral Codes
Gagnez de nouveaux clients grâce à cet outil complet de référencement. Que ce soit par le biais d'influenceurs ou de simples référents, récompensez les ainsi que les nouveaux clients qu'ils amènent
En savoir plus