tabla - woocommerce mysql
Tratando de localizar y editar masivamente los precios de WooCommerce en MySQL (3)
Tengo más de 10.000 productos en WooCommerce versión 2.1.12, WordPress versión 3.9.1 y, a través de un error de importación, el campo del precio de venta se llenó con un "0" en cada producto, lo que hace que cada producto sea ahora gratuito.
Entonces, lo que tengo que hacer, por supuesto, es una consulta para eliminarlos todos, pero parece que no puedo encontrar las tablas en las que se encuentran los precios.
Hice una búsqueda exhaustiva, creo , tratando de encontrar esto en Google y aquí. Lo más cerca que vine fue esta pregunta:
Necesita obtener datos de productos de la base de datos mysql
que parece estar en los metacampos, pero no puedo verlos allí visualmente. ¿Alguien sabe los detalles de dónde encontrar los precios, y tal vez un poco de ayuda en la estructura de la consulta?
Gracias por tu tiempo,
nordeste
Así es como imprimiría los precios:
SELECT p.id, p.post_title, m.meta_key, m.meta_value
FROM wp_posts p
INNER JOIN wp_postmeta m ON p.id=m.post_id
AND m.meta_key=''_price''
¿Qué quieres hacer con los precios? ¿Actualizarlos?
Para establecer los precios a un valor específico, es bastante simple. Pon el precio a lo que quieras.
UPDATE wp_postmeta m
JOIN wp_posts p ON m.post_id=p.id
AND m.meta_key = ''_price''
AND p.post_type = ''product''
SET m.meta_value = <price>
Necesitaba hacer algo como esto. Tuve que actualizar los precios de 110 productos. Todos los productos tenían una variación en el tamaño y el precio era el mismo para todos los tamaños. Esta es la consulta que utilicé para obtener todos los campos que necesitaba cambiar en el back-end. Busqué en línea e hice una búsqueda de todas las claves de meta que tenían precio en el nombre. El precio en la interfaz no cambiaba después de la actualización SQL. Lo que descubrí fue que si hacía una edición masiva (de precio regular ya que esto no funciona para los precios de variación) en un producto, todos los precios reflejaban el cambio en la base de datos. Extraño. Tal vez una cosa de almacenamiento en caché.
SELECT p.id, IF( p.post_parent =0, p.id, p.post_parent ) AS parent, p.post_type, p.post_title, m.meta_key, m.meta_value
FROM wp_posts p
INNER JOIN wp_postmeta m ON p.id = m.post_id
WHERE
(m.meta_key IN (''_price'',''_regular_price'') AND p.post_type = ''product_variation'') OR
(m.meta_key IN (''_max_variation_price'',''_min_variation_price'',''_max_variation_regular_price'',''_min_variation_regular_price'') AND p.post_type = ''product'')
ORDER BY parent
Lanzamos PW WooCommerce Bulk Edit al repositorio de WordPress.org hace unos días. Esto ayudaría en su situación sin necesidad de ingresar a la base de datos.
El complemento es gratis y ayudaría a limpiar sus precios. Divulgación completa: hay una versión paga que tiene más campos / características.