Comment afficher différents filtres WooCommerce sur différentes pages
Le shortcode [woof] du filtre HUSKY WooCommerce accepte des attributs qui vous permettent de contrôler quels filtres apparaissent et quels produits ils affichent.
Attributs principaux :
tax_only– Afficher uniquement des taxonomies spécifiques (catégories, attributs)by_only– Afficher uniquement des filtres hors taxonomie spécifiques (prix, SKU, stock, etc.)taxonomies– Afficher uniquement des termes de taxonomie spécifiques (utilisé avec le recomptage dynamique)
Exemples de shortcode
Filtrer des taxonomies spécifiques
Afficher uniquement les filtres de catégorie et de marque :
[woof tax_only="product_cat,pa_brand"]
Filtrer des éléments hors taxonomie
Afficher uniquement les filtres de prix, SKU et stock :
[woof by_only="by_price,by_sku,by_instock"]
Combiné : taxonomies + filtres hors taxonomie
Afficher des taxonomies spécifiques ET des filtres hors taxonomie :
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price,by_instock"]
Utilisation de l'attribut taxonomies (pour le recomptage dynamique)
Afficher uniquement des termes spécifiques de taxonomies spécifiques :
[woof taxonomies="product_cat:35,42,58+pa_brand:nike,adidas"]
Note : L'attribut taxonomies est utilisé lorsque vous avez activé le “recomptage dynamique” ou “masquer les options vides”.
Guide de configuration complet
Étape 1 : Créez vos shortcodes
Créez différents shortcodes [woof] pour chaque page avec les attributs appropriés.
Exemple :
- Fournisseur A :
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Fournisseur B :
[woof taxonomies="product_cat:50+pa_brand:nike,adidas" by_only="by_price"]
Étape 2 : Placez les shortcodes dans les widgets
- Allez dans Apparence → Widgets
- Ajoutez un widget Texte ou HTML personnalisé à votre barre latérale
- Collez votre shortcode dans le widget
- Créez des widgets séparés pour chaque shortcode
Étape 3 : Installez un plugin de widget conditionnel
Vous avez besoin d'un plugin pour contrôler la visibilité des widgets en fonction des conditions de page.
Choisissez-en un :
- Widget Logic – https://wordpress.org/plugins/widget-logic/
- Show WordPress Widget by Logic – https://github.com/realmag777/Show-WordPress-Widget-by-Logic
Étape 4 : Définissez les conditions de visibilité
Ajoutez une logique conditionnelle à chaque widget pour contrôler où il apparaît.
Exemples de logique conditionnelle
Afficher le filtre sur une page spécifique
Par slug de page :
is_page('supplier-nike')
Par ID de page :
is_page(123)
Afficher le filtre sur plusieurs pages
is_page(array('supplier-1', 'supplier-2', 'supplier-3'))
Afficher le filtre sur l'archive de catégorie
Par ID de catégorie :
is_product_category(35)
Par slug de catégorie :
is_product_category('electronics')
Afficher le filtre sur une taxonomie personnalisée
is_tax('supplier', 'nike-products')
Exclure des pages spécifiques
Afficher partout SAUF sur la page 123 :
!is_page(123)
Exemple de configuration complet
Scénario : 3 fournisseurs avec des filtres différents
Fournisseur A (Nike) – ID de page : 123
- Shortcode :
[woof tax_only="product_cat,pa_size,pa_color" by_only="by_price"] - Condition du widget :
is_page(123) - Résultat : Affiche toutes les catégories de produits avec les filtres de taille, couleur et prix
Fournisseur B (Adidas) – Slug de page : adidas-products
- Shortcode :
[woof taxonomies="product_cat:40,41,42" by_only="by_instock"] - Condition du widget :
is_page('adidas-products') - Résultat : Affiche uniquement les catégories 40, 41, 42 avec le filtre de stock
Fournisseur C – ID d'archive de catégorie : 50
- Shortcode :
[woof tax_only="product_cat,pa_brand" by_only="by_price,by_sku"] - Condition du widget :
is_product_category(50) - Résultat : Affiche les filtres de catégories, marques, prix et SKU
Comprendre les attributs
tax_only vs taxonomies
Utilisez tax_only lorsque :
- Vous souhaitez afficher des taxonomies entières (tous les termes)
- Exemple :
tax_only="product_cat,pa_brand"affiche toutes les catégories et toutes les marques
Utilisez taxonomies lorsque :
- Vous avez activé le “recomptage dynamique” ou “masquer les options vides”
- Vous souhaitez afficher des termes spécifiques de taxonomies spécifiques
- Exemple :
taxonomies="product_cat:35,42+pa_brand:nike"affiche uniquement les catégories 35 & 42, et uniquement la marque Nike
Valeurs de by_only
Filtres hors taxonomie disponibles pour by_only :
by_price– Curseur de plage de prixby_sku– Recherche par SKUby_text– Recherche textuelleby_author– Filtrer par auteurby_onsales– Afficher uniquement les produits en soldeby_instock– Afficher uniquement les produits en stock- Clés de champ meta (si activées dans les paramètres de WOOF)
Utilisez by_only="none" pour masquer tous les filtres hors taxonomie.
Trouver les IDs et les slugs
IDs de catégorie
- Allez dans Produits → Catégories
- Survolez le nom de la catégorie
- Regardez la barre d'état du navigateur ou l'URL
- Repérez
tag_ID=35– le nombre correspond à l'ID de votre catégorie
IDs de page
- Allez dans Pages
- Survolez le nom de la page
- Regardez l'URL :
post=123 - Le nombre correspond à l'ID de votre page
Slugs d'attribut
- Allez dans Produits → Attributs
- Les slugs d'attribut commencent par
pa_ - Exemples :
pa_brand,pa_size,pa_color,pa_material
Tester votre configuration
- Testez d'abord les shortcodes
- Placez le shortcode directement sur une page de test
- Vérifiez que les filtres s'affichent correctement
- Assurez-vous que le filtrage fonctionne
- Testez la visibilité des widgets
- Visitez chaque page où le filtre doit apparaître
- Vérifiez que le filtre correct s'affiche
- Assurez-vous que les autres filtres n'apparaissent pas
- Vérifiez qu'un seul filtre par page
- Plusieurs filtres sur la même page entreront en conflit
- Utilisez les conditions de widget pour garantir l'exclusivité
Limitation importante
Un seul filtre par page : Un seul filtre WOOF peut être actif sur une page à la fois. Plusieurs filtres entreront en conflit.
Solution : Utilisez la logique conditionnelle des widgets pour vous assurer qu'un seul widget de filtre s'affiche par page.
Conseils
- Testez d'abord les shortcodes directement
- Avant d'ajouter aux widgets, testez les shortcodes sur une page normale
- Cela garantit que les attributs sont corrects
- Utilisez des conditions exclusives
- Assurez-vous que les conditions des widgets ne se chevauchent pas
- Un seul filtre doit être visible par page
- Conditions négatives
- Utilisez
!is_page(123)pour exclure des pages spécifiques - Utile pour les scénarios “afficher partout sauf”
- Utilisez
- Vérifiez les slugs d'attribut
- Les slugs d'attribut doivent commencer par
pa_ - Mauvais slug = le filtre n'apparaîtra pas
- Les slugs d'attribut doivent commencer par
Documentation complète
Pour la référence complète des attributs du shortcode : https://products-filter.com/shortcode/woof
Dépannage
Le filtre n'apparaît pas
Causes possibles :
- La condition du widget est fausse pour la page actuelle
- Les attributs du shortcode sont incorrects
- Les IDs de catégorie/attribut n'existent pas
- Plusieurs filtres en conflit
Solution :
- Vérifiez que l'ID/slug de la page correspond à la condition
- Vérifiez les IDs de catégorie dans Produits → Catégories
- Testez d'abord le shortcode sur une page normale
- Assurez-vous qu'un seul widget de filtre par page
Mauvais produits affichés
Causes possibles :
- IDs de catégorie incorrects
- Slugs d'attribut erronés
- Utilisation du mauvais attribut (
tax_onlyvstaxonomies)
Solution :
- Vérifiez à nouveau les IDs de catégorie
- Vérifiez que les slugs d'attribut commencent par
pa_ - Utilisez
taxonomiessi vous avez activé le recomptage dynamique - Testez d'abord avec un shortcode plus simple
Plusieurs filtres affichés
Cause : Les conditions des widgets se chevauchent
Solution :
- Passez en revue toutes les conditions des widgets
- Assurez l'exclusivité mutuelle
- Utilisez des conditions négatives pour séparer
Le filtre apparaît sur les mauvaises pages
Cause : La condition du widget est trop large
Solution :
- Rendez la condition plus spécifique
- Utilisez l'ID de page au lieu de la catégorie si nécessaire
- Testez soigneusement la logique de la condition
Résumé
Pour afficher différents filtres sur différentes pages :
- Créez des shortcodes personnalisés
[woof]avec les attributstax_onlyet/ouby_only - Placez chaque shortcode dans des widgets Texte/HTML séparés
- Installez le plugin Widget Logic
- Ajoutez une logique conditionnelle à chaque widget (par exemple,
is_page(123)) - Testez pour vous assurer qu'un seul filtre s'affiche par page
Rappelez-vous : Un seul filtre peut être actif par page. Utilisez les conditions des widgets pour garantir l'exclusivité.