Buscar variaciones por SKU en WooCommerce con el editor masivo
Escribes un SKU en la búsqueda rápida del editor masivo, activas variaciones (variations), y el producto variable aparece con solo algunas de sus variaciones, o con ninguna. Busca por título y están todas. Así funciona en BEAR la búsqueda de variaciones por SKU en WooCommerce, y no es un fallo: compara el SKU que almacena cada producto y cada variación por sí mismo, y una variación sin SKU propio no tiene nada que comparar. A continuación se explica qué devuelve la búsqueda por SKU, cómo ver o editar cualquier variación, cómo hacer que SKU sea el campo predeterminado de la búsqueda rápida, y cómo buscar por campos meta, marcas y categorías.
Buscar variaciones por SKU en WooCommerce: qué muestra la tabla
La búsqueda rápida está en el panel de herramientas sobre la tabla: un cuadro de texto con el marcador búsqueda rápida por ... (quick search by ...), un desplegable de campo (TÍTULO (Title), SKU, ID) y un desplegable de comportamiento (CONTIENE (LIKE), EXACTO (EXACT), NO (NOT), EMPIEZA POR (BEGIN), TERMINA EN (END)). Pulsa Enter o haz clic en el botón de al lado. La búsqueda rápida es un atajo a la pestaña Filtros (Filters): vacía todos los campos de filtro, copia tu texto en el campo elegido y ejecuta el filtro.
Una búsqueda por SKU mira el valor _sku de productos y variaciones por igual. Un producto aparece en la lista cuando coincide su propio SKU o cuando coincide una de sus variaciones. Con el interruptor variaciones (variations) activado, la tabla lista entonces bajo cada producto solo las variaciones cuyo propio SKU también coincide. Imagina una sudadera con el SKU HOOD, dos variaciones HOOD-S y HOOD-M, y una tercera variación con el campo SKU vacío:
| Búsqueda | Comportamiento | Fila del producto | Filas de variaciones |
|---|---|---|---|
HOOD | CONTIENE (LIKE) | sí | HOOD-S y HOOD-M, no la que no tiene SKU |
HOOD | EXACTO (EXACT) | sí | ninguna |
HOOD-M | EXACTO (EXACT) | sí | solo HOOD-M |
HOOD-S, HOOD-M | EXACTO (EXACT) | sí | HOOD-S y HOOD-M |
Separa varios SKU con comas, como en la última fila. EXACTO (EXACT) necesita el SKU completo, CONTIENE (LIKE) encuentra una parte, y EMPIEZA POR (BEGIN) y TERMINA EN (END) comparan su inicio o su final. El filtro de variaciones es el sentido del diseño: una búsqueda por SKU responde a "dónde está este artículo", así que la tabla muestra las variaciones que coinciden en lugar de enterrarlas entre todas las demás. Los filtros de precio, stock y peso funcionan igual.
Por qué no se encuentran las variaciones que muestran el SKU del producto padre
En WooCommerce, el campo SKU de una variación puede quedar vacío. La variación muestra entonces el SKU del padre: en la página del producto, en el pedido y en la columna SKU del editor, que muestra los SKU como lo hace WooCommerce. Sin embargo, en la variación no se almacena nada, así que la búsqueda no tiene con qué comparar. Esa es la variación sin SKU del ejemplo: la tabla muestra HOOD en su celda SKU, pero ninguna búsqueda por SKU la lista.
Para encontrar estas variaciones, abre la pestaña Filtros, deja vacío el campo SKU y elige el comportamiento Vacío (Empty). Lista los productos y variaciones sin un SKU propio. En la versión 2.2.4 solo mira los productos publicados y las variaciones habilitadas, así que revisa a mano los borradores y las variaciones deshabilitadas.
La solución duradera es dar a las variaciones sus propios SKU. No tienes que escribirlos: una edición masiva de las variaciones puede construir cada uno a partir del SKU del padre y del atributo o el ID de la variación, como se describe en edición masiva de SKU en WooCommerce. Las variaciones que BEAR crea a partir de combinaciones de atributos en Operaciones masivas avanzadas de variaciones (Variations Advanced Bulk Operations) ya reciben uno: el SKU del padre más el ID de la variación, como HOOD-1542, que una búsqueda CONTIENE (LIKE) de HOOD encuentra.
Ver todas las variaciones de un producto, o editar una
Cuando necesites todas las variaciones del producto que has encontrado, busca por algo que las variaciones compartan con su padre en lugar de por SKU:
- Título con CONTIENE (LIKE). WooCommerce nombra las variaciones a partir de su producto, como Hoodie - Blue, de modo que una parte del nombre del producto coincide con el producto y con todas sus variaciones. Con EXACTO (EXACT) solo coincide el producto, porque los títulos completos de las variaciones son más largos.
- ID del producto. La búsqueda por ID selecciona productos y deja en paz sus variaciones, así que se listan todas. Acepta varios ID y rangos, como
1201,1240-1245. El ID propio de una variación no encuentra nada aquí: busca la variación por su SKU.
Para cambiar una variación, por ejemplo el stock de una talla, activa primero variaciones (variations): con el interruptor desactivado, la tabla muestra solo la fila del producto, incluso cuando la búsqueda coincidió con una variación. Después busca el SKU propio de la variación con EXACTO (EXACT) y edita la celda en la fila de la variación. La columna que edites debe estar activada en la pestaña Ajustes (Settings).
Edición masiva solo de las variaciones que encontró la búsqueda
Aquí hay algo que sorprende a la gente. Con variaciones (variations) activado y ninguna fila marcada, la pestaña Edición en masa (Bulk Edit) se aplica a los productos filtrados y, de cada uno, toma todas sus variaciones, incluidas las que la búsqueda por SKU ocultó. El filtro de la tabla decide qué productos se ven afectados, no qué variaciones.
Para limitar una edición masiva a las variaciones que ves, márcalas. El botón seleccionar todas las variaciones (select all variations) del panel de herramientas marca todas las filas de variaciones de la página y ninguno de los productos; después ejecuta la edición masiva o usa la edición vinculada. El botón alcanza solo las filas de la página actual, así que muestra antes suficientes filas; consulta más filas por página. Para elegir variaciones por valor de atributo en lugar de por SKU, usa las combinaciones de atributos descritas en filtrar variaciones por atributo.
Hacer que SKU sea el campo predeterminado de la búsqueda rápida
La búsqueda rápida se abre con TÍTULO (Title) seleccionado. Si buscas sobre todo por SKU, reordena la lista de campos con el filtro woobe_quick_search_options: la primera entrada pasa a ser la predeterminada. No edites los archivos del plugin para esto, una actualización los sobrescribe.
/*
* 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;
} );
Recarga la página del editor; el desplegable de campo ahora empieza por SKU, y el comportamiento sigue siendo CONTIENE (LIKE).
Buscar por un campo meta, una marca o una categoría
La búsqueda rápida funciona con los campos de texto que tienen un cuadro de texto en la pestaña Filtros. Además de título, SKU e ID, son el contenido, el extracto, el slug y la URL del producto, más los campos meta de tipo string. Añádelos al desplegable de campo en la pestaña Ajustes, opción Añadir campos a la búsqueda rápida (Add fields to the quick search), como pares clave:Etiqueta separados por comas:
post_name:Product slug,post_content:Content,_supplier_code:Supplier code
Un campo meta personalizado como _supplier_code debe existir antes en el editor: añádelo en la pestaña Campos meta (Meta Fields) con el tipo string y activa su columna en Ajustes. Entonces aparece en la pestaña Filtros con los comportamientos CONTIENE (LIKE), EXACTO (=) (EXACT (=)), NO EXACTO (!=) (NOT EXACT (!=)), NO CONTIENE (NOT LIKE), Vacío (Empty) y NO vacío (NOT Empty), y la búsqueda rápida puede usarlo. Las búsquedas por campo meta miran los productos, no los valores almacenados en las variaciones. Si no conoces la clave, consulta cómo encontrar la clave meta de un producto.
Las marcas, las categorías, las etiquetas y los atributos globales son taxonomías, no texto. Introducir product_cat o product_brand en Añadir campos a la búsqueda rápida (Add fields to the quick search) añade una entrada al desplegable, pero el texto que escribas se ignora, porque detrás no hay ningún cuadro de texto. Fíltralas en su lugar en la pestaña Filtros: cada taxonomía de producto, incluida la de WooCommerce Brands, tiene allí su propio selector de términos con O (OR), Y (AND) y No incluido (NOT IN). Para combinar una categoría con un SKU, rellena ambos en la pestaña Filtros; la búsqueda rápida volvería a vaciar la categoría.
Si la búsqueda sigue sin encontrar nada
- Revisa el comportamiento: EXACTO (EXACT) con una parte de un SKU no encuentra nada.
- Activa variaciones (variations) si esperas filas de variaciones.
- Filtra el SKU con Vacío (Empty) para ver si las variaciones tienen SKU propios.
- Si buscas en la pestaña Filtros en lugar de en la búsqueda rápida, haz clic primero en Restablecer (Reset), para que ningún valor de filtro anterior se combine con el tuyo.
- Si ninguna búsqueda funciona, o el resultado se pierde en la página 2, la causa es la caché o el almacenamiento de memoria del plugin; consulta el filtro del editor masivo no funciona.
- Para listar varios productos por título a la vez, usa la sintaxis especial descrita en varios títulos en el cuadro de búsqueda.
Si siguen faltando variaciones con su propio SKU coincidente, pregunta en el foro de soporte de BEAR indicando el SKU que buscaste y el comportamiento que usaste.