Trouver les produits WooCommerce sans catégorie, image, marque ou prix
Pour trouver les produits WooCommerce sans catégorie, sans marque, sans image mise en avant ou sans prix, il faut un filtre qui demande « qu'est-ce qui manque » plutôt que « qu'est-ce qui est renseigné ». La liste de produits standard en est incapable, et dans BEAR la plupart de ces vérifications tiennent en un seul réglage de l'onglet Filtres (Filters). Voici comment lister chaque type de produit incomplet, y compris les cas qui demandent une petite astuce (prix vides, produits hors promotion), et comment corriger toute la liste en une seule opération en masse une fois que vous l'avez.
Trouver les produits sans catégorie, sans marque ou sans attribut
Chaque taxonomie de l'onglet Filtres (catégories, étiquettes, marques, attributs, taxonomies personnalisées) a un opérateur à côté de ses termes : OR, AND et Non inclus (NOT IN). Deux autres opérateurs, NOT EXISTS et EXISTS, sont masqués par défaut, car ils ignorent les termes et demandent seulement si le produit possède au moins un terme de cette taxonomie. Activez-les avec une seule ligne :
/*
* BEAR: show the NOT EXISTS / EXISTS operators for taxonomies in the Filters tab.
* Child theme functions.php or a code snippets plugin.
*/
add_filter('woobe_filter_taxonomies_exists_show', '__return_true');
Rechargez l'éditeur, puis dans l'onglet Filtres choisissez NOT EXISTS à côté de la taxonomie, laissez ses termes vides et appuyez sur Filtrer (Filter). La FAQ sur le filtrage selon l'attachement des taxonomies montre où se trouve l'opérateur.
- Marques. NOT EXISTS sur Marques (Brands) (ou sur la taxonomie de votre extension de marques) liste tous les produits sans marque.
- Attributs. NOT EXISTS sur un attribut tel que Couleur liste les produits qui n'ont aucune Couleur, ce qui est pratique avant de l'ajouter en masse. Cela ne fonctionne que pour les attributs globaux ; les valeurs saisies dans un seul produit sont des attributs personnalisés et ne sont pas des taxonomies, voir convertir les attributs personnalisés en attributs globaux.
- Plusieurs lacunes à la fois. Les opérateurs de taxonomies différentes se combinent : NOT EXISTS sur les marques plus une catégorie sélectionnée avec OR donne les produits de cette catégorie sans marque. Ajoutez Type de produit (Product type) pour limiter la liste aux produits simples ou variables.
Les produits sans catégorie se trouvent généralement dans Non classé
WooCommerce essaie de ne pas laisser un produit sans catégorie : chaque fois qu'un produit est enregistré avec une liste de catégories vide, par l'éditeur, par un import ou par l'API REST, il est placé dans la catégorie par défaut, qui est Non classé (Uncategorized) sauf si elle a été renommée. La première liste à vérifier n'est donc pas NOT EXISTS, mais le filtre de catégories avec Non classé sélectionné. NOT EXISTS sur les catégories attrape ensuite les produits qui n'en ont tout de même aucune, par exemple après la suppression de leur unique catégorie, ou après qu'un outil les a écrits dans la base de données sans passer par WooCommerce.
Produits sans image mise en avant
L'onglet Filtres propose une liste déroulante Miniature (Thumbnail) avec Vide (Empty) et PAS vide (Not empty). Vide liste les produits sans image mise en avant, et la colonne Miniature affiche le résultat d'un coup d'œil. Le filtre vérifie le produit lui-même ; une variation sans image propre affiche l'image du produit parent sur la page produit, ce n'est donc que rarement une lacune à corriger.
Descriptions, UGS et champs personnalisés vides
Les filtres de texte de l'onglet Filtres ont une liste déroulante de comportement à côté d'eux, et son dernier choix, Vide, trouve les produits dont ce champ ne contient aucun texte :
- Contenu du produit (Product content) avec Vide : produits sans description.
- Extrait du produit (Product excerpt) avec Vide : produits sans description courte.
- Le filtre UGS avec Vide : produits et variations sans UGS.
Les champs ajoutés dans l'onglet Champs méta (Meta Fields) fonctionnent de la même façon une fois leur colonne activée. Un champ méta de type texte reçoit Vide et PAS vide dans son filtre, ce qui couvre le GTIN, les codes fournisseur et les champs similaires. Un champ méta numérique reçoit une plage de/à ; saisir 0 dans les deux cases liste les produits dont la valeur est 0 ou absente.
Prix à zéro, prix vides et produits hors promotion
Les filtres de prix comparent des nombres. Cela rend les prix à zéro faciles à trouver et les prix vides impossibles à trouver directement, car un champ vide n'est pas un nombre et ne tombe jamais dans une plage.
- Un prix de 0. Saisissez
0dans tarif régulier de (regular price from) et0.01dans tarif régulier à (regular price to). La liste affiche les produits simples dont le prix est 0 et les produits variables qui ont une variation à 0 ; activez variations dans le panneau d'outils pour voir de quelles variations il s'agit. - Un prix promo de 0. Même chose avec Tarif promo de (sale price from) et Tarif promo à (sale price to). WooCommerce affiche ces produits comme étant en promotion gratuite ; l'article sur les promotions en masse explique comment les retirer.
Trouver ce qui ne correspond pas : l'étiquette temporaire
Pour « aucun prix » et « hors promotion », filtrez le contraire, marquez-le, puis excluez la marque :
- Créez une étiquette telle que tmp-has-price sous Produits → Étiquettes.
- Dans l'onglet Filtres, saisissez
0dans tarif régulier de, laissez à vide et appuyez sur Filtrer. Cela liste tout ce qui a un prix régulier, y compris les produits variables ayant au moins une variation avec un prix. - Avec le commutateur variations désactivé, ajoutez l'étiquette à tous les produits filtrés dans l'onglet Modification groupée (Bulk Edit) avec ajouter à la fin (append).
- Réinitialisez le filtre et sélectionnez l'étiquette avec Non inclus. La liste contient les produits sans prix régulier : les produits simples dont le champ de prix est vide, et les produits variables dont aucune variation n'a encore de prix. Les produits groupés n'ont pas de prix propre et apparaissent donc ici aussi.
- Une fois les produits corrigés, supprimez l'étiquette sous Produits → Étiquettes ; elle est alors retirée de tous les produits d'un coup.
Les produits hors promotion fonctionnent de la même manière : filtrez avec Tarif promo de 0.01 et à vide, étiquetez le résultat, puis excluez l'étiquette. La FAQ sur les produits avec un prix promo décrit ce filtre. Gardez à l'esprit que les versions actuelles de WooCommerce conservent le prix promo d'un produit une fois la promotion programmée terminée ; une promotion expirée compte donc toujours comme « a un prix promo » ici ; programmer les prix promo en explique la raison. Un produit variable dont une variation est en promotion compte aussi comme étant en promotion.
Deux vérifications de plus : UGS dans les titres, stock non géré
Les titres qui contiennent l'UGS, souvent laissés par les imports (« Chemise en lin ABC-123 »), ne peuvent pas être filtrés, car aucun filtre ne compare le titre d'un produit à son propre UGS. Ce n'est pas nécessaire : dans l'onglet Modification groupée, cochez la ligne du titre, choisissez remplacer (replace), saisissez {SKU} avec, devant, le séparateur utilisé dans vos titres (une espace ou - ) comme texte à rechercher, et laissez le remplacement vide. {SKU} est remplacé par l'UGS de chaque produit avant la recherche, de sorte que seuls les titres qui contiennent leur UGS changent. Lancez-le d'abord sur quelques produits et vérifiez le résultat.
Les produits sans gestion du stock ont un état de stock mais pas de quantité, ils ne sont donc jamais épuisés d'eux-mêmes. L'onglet Filtres n'a pas de liste déroulante pour ce réglage, mais la valeur est stockée dans la clé méta _manage_stock sous la forme yes ou no. Rattachez cette clé dans Champs méta comme champ texte, activez sa colonne et filtrez-la avec EXACT (=) et no. Utilisez le champ méta uniquement pour trouver les produits ; activez la gestion du stock avec la ligne Gérer le stock (Manage stock) de l'onglet Modification groupée, comme décrit dans l'article sur le gestionnaire de stock.
Corriger la liste en masse
Une fois qu'un filtre affiche exactement les produits incomplets, l'onglet Modification groupée s'applique à tous ; la ligne Bulk editing will be applied to en haut le confirme.
- Catégories et marques. Cochez la ligne de la taxonomie, choisissez les termes puis ajouter à la fin, ou remplacer pour sortir les produits de Non classé dans la même étape. L'article sur les catégories couvre le déplacement, l'ajout et le retrait.
- Images. sélectionner la miniature (select thumbnail) dans l'onglet Modification groupée donne la même image à chaque produit filtré, ce qui convient à une image de remplacement. Les images individuelles vont dans la cellule Miniature de chaque ligne.
- Prix. Cochez la ligne du prix régulier avec définir une nouvelle valeur (set new) ; pour les variations, activez d'abord variations.
- Descriptions. Voir modifier en masse les descriptions de produits.
Chaque exécution est enregistrée dans l'onglet Historique (History) et peut être annulée ; une correction appliquée à la mauvaise liste ne coûte donc qu'un clic.
Un audit rapide du catalogue
- Filtre de catégories avec Non classé, puis NOT EXISTS sur les catégories.
- NOT EXISTS sur les marques et sur les attributs dont dépendent vos filtres.
- Miniature : Vide.
- Vide sur la description, la description courte et l'UGS.
- Prix régulier de 0 à 0.01, puis l'étiquette temporaire pour les prix vides.
_manage_stockégal àno, si la boutique est censée comptabiliser le stock.
Si un filtre renvoie des produits qui possèdent bien la donnée, ou en manque qui ne l'ont pas, publiez les réglages du filtre et un produit d'exemple sur le forum d'assistance de BEAR.