BEAR - WooCommerce Bulk Editor and Products Manager Professional

Cómo encontrar la clave meta de un producto de WooCommerce y editar sus campos

Para editar en masa un campo que otro plugin o tu tema ha añadido a los productos de WooCommerce, BEAR necesita la clave meta del campo: el nombre con el que WordPress guarda el valor en la tabla wp_postmeta. La etiqueta de la pantalla del producto no es la clave, y tampoco lo es el id del input que ves en el inspector del navegador. Cuando tienes la clave, la añades en la pestaña Campos meta (Meta Fields) y el campo se convierte en una columna como cualquier otra. A continuación: cuatro maneras de encontrar la clave meta de un producto de WooCommerce, cómo elegir la vista adecuada para ella, por qué las variaciones pueden necesitar una segunda clave y cómo reconocer los campos que no son meta en absoluto.

Cómo encontrar la clave meta de un producto de WooCommerce

1. Pedirle a BEAR las claves de un producto

  1. Abre un producto, rellena el campo con un valor que reconozcas, por ejemplo TEST-777, y pulsa Actualizar (Update). Muchos plugins no guardan nada hasta que un campo tiene valor, así que un producto sin tocar puede no tener todavía la clave.
  2. Anota el ID del producto: está en la columna ID de BEAR y en la dirección de la pantalla de edición (post=123).
  3. En la pestaña Campos meta, introduce el ID en Obtener claves meta de cualquier producto mediante su ID (Get meta keys from any product by its ID) y pulsa Obtener (Get). Todas las claves meta de ese producto se añaden a la lista, salvo las propias de WooCommerce como precio, SKU, stock e imágenes, que son columnas integradas.
  4. Busca el prefijo del plugin en los nombres. Si varias claves podrían ser la buscada, conserva todas por ahora, pulsa Guardar campos meta (Save meta fields), activa las columnas en la pestaña Ajustes (Settings) y comprueba qué columna muestra TEST-777. Después elimina las demás filas en la pestaña Campos meta.

Las claves que empiezan por un guion bajo son normales: WordPress oculta esas claves de su propia caja de Campos personalizados, y muchos plugins las usan a propósito. ACF es un caso especial con un par de claves, name y _name; el artículo sobre edición masiva de campos ACF explica cuál usar. Si no aparece ninguna clave nueva después de rellenar el campo, el valor no se guarda como meta del producto; consulta más abajo la sección sobre campos que no son meta.

2. Leer el nombre del campo en el formulario del producto

Haz clic derecho en el campo de la pantalla de edición del producto y elige Inspeccionar. El atributo name del input suele ser la clave meta, sobre todo en los campos creados con las funciones de formulario propias de WooCommerce. El atributo id no es fiable: un id como location_0 es un elemento del formulario, y añadirlo en BEAR da una columna vacía. Los nombres con corchetes, como variable_custom_note[0] o quantity_rules[0][max], describen el formulario, no la base de datos: [0] es la fila de una variación y [max] una parte de un array. Usa el nombre solo como pista y confírmalo con el método 1.

3. Mirar en la base de datos

Con phpMyAdmin o Adminer desde el panel de hosting, esta consulta de solo lectura lista todas las claves y valores de un producto (sustituye wp_ si $table_prefix en wp-config.php indica otra cosa, y 123 por el ID del producto):

SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = 123;

Con WP-CLI, wp post meta list 123 imprime lo mismo. A diferencia del método 1, ambos muestran los valores, lo que te dice cómo se almacenan los datos.

4. Preguntar al autor del plugin

La documentación o el soporte del plugin al que pertenece el campo pueden indicar la clave y el formato. Haz las dos preguntas: qué clave, y qué aspecto tiene un valor guardado.

Elegir la vista según el valor guardado

BEAR escribe exactamente lo que le das, así que la vista y el tipo en la pestaña Campos meta deben coincidir con lo que guarda el plugin propietario.

El valor guardado se parece aVista y tipo en BEAR
Texto, un código, una URLcampo de texto (textinput), cadena (string)
Un precio o una cantidad, como 12.50campo de texto, número (number) (ordenación, filtro desde/hasta, aumentar en %)
1 o 0casilla de verificación (checkbox); para yes/no consulta campos personalizados de casilla
Texto largo o HTMLárea de texto (textarea)
Un número de diez dígitos como 1767225600 (una marca de tiempo Unix)calendario (calendar)
a:2:{i:0;s:3:"red";...} (un array PHP serializado)Array (array), consulta datos meta serializados
Una lista serializada de IDs de imagengalería (gallery), consulta imágenes y galerías de variaciones
Texto JSON, como {"min":1,"max":5}campo de texto o área de texto, editado con cuidado: la vista Array guarda un array PHP, que no es el formato que escribió el plugin

Si un valor contiene varios ajustes en un solo array, añade la clave base con la vista Array, no una clave con corchetes. La documentación de Campos meta describe la propia pestaña.

Las variaciones pueden usar otra clave

Un plugin puede guardar el mismo ajuste bajo una clave en los productos simples y bajo otra en las variaciones, por ejemplo un texto de stock personalizado guardado en una clave para productos y en una segunda clave para variaciones. Editar la primera clave en las variaciones no cambia entonces nada de lo que lee el plugin. Activa variaciones (variations) en el panel de herramientas, copia el ID de una variación de la columna ID y ejecuta Obtener claves meta de cualquier producto mediante su ID con él. Añade también la clave de la variación y edítala con el interruptor de variaciones activado. Las filas de texto y número de la pestaña Edición en masa (Bulk Edit) escriben entonces en las variaciones; los filtros de campos meta miran los productos padre, así que selecciona las variaciones por sus atributos, como en filtrar variaciones por atributo.

Campos que no son meta del producto

  • Taxonomías. Un campo que ofrece una lista de términos con casillas, como las marcas o algunas categorías de feed, suele ser una taxonomía. BEAR muestra las taxonomías de producto en la lista de columnas de la pestaña Ajustes, como se describe en taxonomías personalizadas. Algunos plugins registran una taxonomía pero guardan sus datos reales en meta; si cambiar la columna de taxonomía no tiene efecto, busca una clave meta.
  • Tablas personalizadas. Algunos plugins guardan los datos del producto en tablas propias. Ninguna clave meta llega hasta ellas, así que el campo debe editarse con las pantallas de ese plugin, como con el precio de compra de ATUM en edición masiva del coste de los productos.
  • Ajustes y valores calculados. Un valor establecido una vez para toda la tienda o para una categoría vive en las opciones, y algunos valores se calculan en cada visualización de página. Ninguno de los dos pertenece a un producto.

Valores que el otro plugin vuelve a cambiar

BEAR guarda un valor meta y luego ejecuta save_post, save_post_product, edit_post y woocommerce_update_product (woocommerce_update_product_variation para una variación), las notificaciones que WordPress y WooCommerce envían cuando se guarda un producto. No envía el formulario de edición del producto. Dos tipos de plugins reaccionan a eso de forma distinta a un guardado manual:

  • Los plugins que hacen trabajo adicional solo cuando se envía el formulario, por ejemplo crear registros de adjuntos o recalcular una programación, no se ejecutan. El meta se guarda, pero los demás datos del plugin no se crean, y el campo parece no tener efecto hasta que alguien pulsa Actualizar en el producto.
  • Los plugins que comprueban sus datos cada vez que se guarda un producto pueden sobrescribir el valor con sus propias reglas: un plugin de reservas o de fechas de entrega puede restablecer un indicador, o borrar una fecha que no tiene un estado correspondiente.

Para averiguar qué necesita el plugin, ejecuta Obtener claves meta (Get meta keys) en un producto antes y después de cambiar el ajuste a mano, y compara las claves y los valores. A menudo un ajuste visible son dos o tres claves que deben establecerse juntas. Si el plugin sigue restableciendo el valor, su autor es quien puede decir qué datos espera.

Números en lugar de nombres, URL rotas

  • Un número donde esperabas un nombre. Una columna meta muestra el valor guardado tal cual. Muchos campos guardan IDs: un ID de categoría (la categoría principal de Yoast, _yoast_wpseo_primary_product_cat), un ID de adjunto para una imagen o un archivo, un ID de usuario para un vendedor, IDs de producto para productos vinculados. Edítalos escribiendo el ID. Para ver los nombres de las categorías, usa en su lugar la columna de taxonomía.
  • Una URL que acaba vacía o como un array. Una celda de texto lee un signo de porcentaje seguido de dos caracteres de 0–9 y A–F, como en %D0%BF o %20, como datos de formulario codificados en URL, y el valor no se guarda como texto. Los navegadores copian las direcciones con letras no latinas en esa forma codificada. Pega en su lugar la dirección legible, con las letras reales.

Eliminar una fila en la pestaña Campos meta solo quita la columna de BEAR; los valores permanecen en los productos. Tampoco se puede renombrar la clave de un campo añadido: una clave distinta son datos distintos, y los valores antiguos permanecen bajo la clave antigua. Para vaciar un campo en muchos productos, consulta establecer un valor vacío.

Lista de comprobación para el campo de un plugin nuevo

  • El campo se rellenó en un producto y la clave se confirmó con Obtener claves meta de cualquier producto mediante su ID.
  • La vista y el tipo coinciden con el valor guardado.
  • Se comprobó si las variaciones tienen una clave propia.
  • Una edición de prueba en un producto muestra el nuevo valor en la pantalla de edición del producto y en la página del producto.

Si la clave o su formato siguen sin estar claros, publica el nombre del plugin y un ID de producto en el foro de soporte de BEAR.