Rechercher des variations WooCommerce par SKU dans l'éditeur en masse
Vous saisissez un SKU dans la recherche rapide de l'éditeur en masse, vous activez variations, et le produit variable apparaît avec seulement une partie de ses variations, voire aucune. Cherchez par titre et toutes les variations sont là. Voilà comment fonctionne la recherche de variations WooCommerce par SKU dans BEAR, et ce n'est pas une panne : elle compare le SKU que chaque produit et chaque variation stocke lui-même, et une variation sans SKU propre n'a rien à comparer. Voici ce que renvoie la recherche par SKU, comment voir ou modifier n'importe quelle variation, comment faire du SKU le champ de recherche rapide par défaut, et comment chercher par champs méta, marques et catégories.
Rechercher des variations WooCommerce par SKU : ce qu'affiche le tableau
La recherche rapide se trouve sur le panneau d'outils au-dessus du tableau : une zone de texte avec le texte indicatif recherche rapide par ... (quick search by ...), une liste déroulante de champ (TITRE (Title), SKU, ID) et une liste déroulante de comportement (CONTIENT (LIKE), EXACT, PAS (NOT), COMMENCE PAR (BEGIN), FINIT PAR (END)). Appuyez sur Entrée ou cliquez sur le bouton à côté. La recherche rapide est un raccourci vers l'onglet Filtres (Filters) : elle vide tous les champs de filtre, y copie votre texte dans le champ choisi et lance le filtre.
Une recherche par SKU examine la valeur _sku des produits et des variations indifféremment. Un produit est listé lorsque son propre SKU correspond ou lorsque l'une de ses variations correspond. Avec l'interrupteur variations activé, le tableau ne liste alors sous chaque produit que les variations dont le SKU propre correspond aussi. Prenons un sweat à capuche avec le SKU HOOD, deux variations HOOD-S et HOOD-M, et une troisième variation dont le champ SKU est vide :
| Recherche | Comportement | Ligne du produit | Lignes des variations |
|---|---|---|---|
HOOD | CONTIENT | oui | HOOD-S et HOOD-M, pas celle sans SKU |
HOOD | EXACT | oui | aucune |
HOOD-M | EXACT | oui | HOOD-M uniquement |
HOOD-S, HOOD-M | EXACT | oui | HOOD-S et HOOD-M |
Séparez plusieurs SKU par des virgules, comme dans la dernière ligne. EXACT exige le SKU complet, CONTIENT en trouve une partie, COMMENCE PAR et FINIT PAR comparent son début ou sa fin. Le filtre sur les variations est le principe même de la conception : une recherche par SKU répond à la question « où est cet article », donc le tableau affiche les variations correspondantes au lieu de les noyer parmi toutes les autres. Les filtres de prix, de stock et de poids fonctionnent de la même façon.
Pourquoi les variations qui affichent le SKU du parent ne sont pas trouvées
Dans WooCommerce, le champ SKU d'une variation peut rester vide. La variation affiche alors le SKU du parent : sur la page produit, dans la commande et dans la colonne SKU de l'éditeur, qui présente les SKU comme le fait WooCommerce. Rien n'est cependant stocké sur la variation, donc la recherche n'a rien à comparer. C'est la variation sans SKU de l'exemple : le tableau affiche HOOD dans sa cellule SKU, et pourtant aucune recherche par SKU ne la liste.
Pour trouver ces variations, ouvrez l'onglet Filtres, laissez le champ SKU vide et choisissez le comportement Vide (Empty). Il liste les produits et les variations sans SKU propre. Dans la version 2.2.4, il ne regarde que les produits publiés et les variations activées ; vérifiez donc à la main les brouillons et les variations désactivées.
La solution durable est de donner aux variations leurs propres SKU. Inutile de les saisir une à une : une modification en masse des variations peut construire chacun d'eux à partir du SKU du parent et de l'attribut ou de l'ID de la variation, comme décrit dans modifier en masse le SKU dans WooCommerce. Les variations que BEAR crée à partir de combinaisons d'attributs dans Variations Opérations en masse avancées (Variations Advanced Bulk Operations) en reçoivent déjà un : le SKU du parent plus l'ID de la variation, comme HOOD-1542, qu'une recherche CONTIENT sur HOOD trouve.
Voir toutes les variations d'un produit, ou en modifier une
Quand vous avez besoin de toutes les variations du produit trouvé, cherchez par ce que les variations partagent avec leur parent plutôt que par le SKU :
- Le titre avec CONTIENT. WooCommerce nomme les variations d'après leur produit, par exemple Hoodie - Blue, donc une partie du nom du produit correspond au produit et à toutes ses variations. Avec EXACT, seul le produit correspond, car les titres complets des variations sont plus longs.
- L'ID du produit. La recherche par ID sélectionne les produits et laisse leurs variations de côté, donc toutes sont listées. Elle accepte plusieurs ID et des plages, comme
1201,1240-1245. L'ID propre d'une variation ne trouve rien ici : cherchez plutôt la variation par son SKU.
Pour modifier une seule variation, par exemple le stock d'une taille, activez d'abord variations : interrupteur désactivé, le tableau n'affiche que la ligne du produit, même si la recherche a trouvé une variation. Cherchez ensuite le SKU propre de la variation avec EXACT et modifiez la cellule dans la ligne de la variation. La colonne que vous modifiez doit être activée dans l'onglet Paramètres (Settings).
Modifier en masse uniquement les variations trouvées par la recherche
Une chose surprend les utilisateurs ici. Avec variations activé et aucune ligne cochée, l'onglet Modification groupée (Bulk Edit) s'applique aux produits filtrés, et pour chacun d'eux il prend toutes ses variations, y compris celles que la recherche par SKU avait masquées. Le filtre du tableau décide quels produits sont concernés, pas quelles variations.
Pour limiter une modification en masse aux variations que vous voyez, cochez-les. Le bouton sélectionner toutes les variations (select all variations) du panneau d'outils coche chaque ligne de variation de la page et aucun produit ; lancez ensuite la modification en masse ou utilisez la modification liée (binded editing). Le bouton n'atteint que les lignes de la page en cours : affichez donc d'abord assez de lignes, voir plus de lignes par page. Pour choisir des variations par valeur d'attribut plutôt que par SKU, utilisez les combinaisons d'attributs décrites dans filtrer les variations par attribut.
Faire du SKU le champ de recherche rapide par défaut
La recherche rapide s'ouvre avec TITRE (Title) sélectionné. Si vous cherchez surtout par SKU, réorganisez la liste des champs avec le filtre woobe_quick_search_options : la première entrée devient celle par défaut. Ne modifiez pas les fichiers de l'extension pour cela, une mise à jour les écrase.
/*
* BEAR bulk editor: open the quick search with SKU selected.
* Child theme functions.php or a code snippets plugin.
*/
add_filter( 'woobe_quick_search_options', function ( $options ) {
if ( isset( $options['sku'] ) ) {
// put SKU first, keep Title, ID and the rest after it
$options = array( 'sku' => $options['sku'] ) + $options;
}
return $options;
} );
Rechargez la page de l'éditeur ; la liste déroulante des champs commence maintenant par SKU, et le comportement reste CONTIENT.
Chercher par champ méta, marque ou catégorie
La recherche rapide fonctionne avec les champs de texte qui ont une zone de texte dans l'onglet Filtres. Outre le titre, le SKU et l'ID, ce sont le contenu, l'extrait, le slug et l'URL du produit, ainsi que les champs méta de type chaîne (string). Ajoutez-les à la liste déroulante des champs dans l'onglet Paramètres, option Ajouter des champs à la recherche rapide (Add fields to the quick search), sous forme de paires clé:Libellé séparées par des virgules :
post_name:Product slug,post_content:Content,_supplier_code:Supplier code
Un champ méta personnalisé comme _supplier_code doit d'abord exister dans l'éditeur : ajoutez-le dans l'onglet Champs méta (Meta Fields) avec le type chaîne (string) et activez sa colonne dans Paramètres. Il apparaît alors dans l'onglet Filtres avec les comportements CONTIENT (LIKE), EXACT (=), PAS EXACT (!=) (NOT EXACT (!=)), NE CONTIENT PAS (NOT LIKE), Vide (Empty) et PAS vide (NOT Empty), et la recherche rapide peut l'utiliser. Les recherches sur les champs méta portent sur les produits, pas sur les valeurs stockées dans les variations. Si vous ne connaissez pas la clé, voir comment trouver une clé méta de produit.
Les marques, les catégories, les étiquettes et les attributs globaux sont des taxonomies, pas du texte. Saisir product_cat ou product_brand dans Ajouter des champs à la recherche rapide (Add fields to the quick search) ajoute une entrée à la liste déroulante, mais le texte que vous tapez est ignoré, car aucune zone de texte n'existe derrière. Filtrez-les plutôt dans l'onglet Filtres : chaque taxonomie de produit, y compris la taxonomie des marques WooCommerce Brands, y a son propre sélecteur de termes avec OR, AND et Non inclus (NOT IN). Pour combiner une catégorie avec un SKU, remplissez les deux dans l'onglet Filtres ; la recherche rapide viderait de nouveau la catégorie.
Si la recherche ne trouve toujours rien
- Vérifiez le comportement : EXACT avec une partie d'un SKU ne trouve rien.
- Activez variations si vous attendez des lignes de variations.
- Filtrez le SKU avec Vide (Empty) pour voir si les variations ont des SKU propres.
- Lorsque vous cherchez dans l'onglet Filtres plutôt qu'avec la recherche rapide, cliquez d'abord sur Réinitialiser (Reset), afin qu'aucune ancienne valeur de filtre ne se combine avec la vôtre.
- Si aucune recherche ne fonctionne, ou si le résultat se perd à la page 2, la cause est le cache ou le stockage mémoire de l'extension, voir le filtre de l'éditeur en masse ne fonctionne pas.
- Pour lister plusieurs produits à la fois par titre, utilisez la syntaxe spéciale décrite dans plusieurs titres dans la zone de recherche.
Si des variations ayant leur propre SKU correspondant manquent encore, posez la question sur le forum d'assistance de BEAR en indiquant le SKU recherché et le comportement utilisé.