wc_update_product: actualizar un producto

Actualiza un producto existente. La escritura de mayor riesgo disponible a través de MCP.

Argumentos

Argumento Obligatorio Significado
id Sí El producto
name, slug, status No Campos de la entrada
description, short_description No Copia
sku No Unidad de mantenimiento de existencias
regular_price No Precio normal
sale_price No Precio de oferta
manage_stock No Si controlar el stock
stock_quantity No Nivel de stock
categories No IDs de categoría
dry_run No Informar sin escribir

Solo se modifican los campos que pases.

Permisos

Allow WooCommerce catalog writes abierto, además de manage_woocommerce o edit_products.

Todo lo que hay aquí es inmediatamente público

No existe un estado de borrador para un precio. Una escritura llega a la tienda en cuanto se guarda, y los clientes pueden actuar sobre ella antes de que notes un error.

Por eso esta página recomienda la simulación con más insistencia que cualquier otra en la referencia.

Usa la simulación siempre

La simulación de actualización devuelve un auténtico before y after:

Usa una simulación para fijar el precio normal en 24,90 y muéstrame el antes y el después.

Lee con atención el before. Te indica si hay un precio de oferta actualmente activo, lo que determina si tu cambio afectará de algún modo a lo que pagan los clientes.

Nombra el campo y excluye el resto

Los tres campos con forma de precio son la trampa:

Actualiza solo el precio normal del producto 219. No cambies el precio de oferta, el stock, la descripción, las categorías ni el estado.

Escribir sale_price cuando querías regular_price inicia un descuento. Escribir regular_price en un producto que ya está en oferta cambia un número que ningún cliente ve. Ninguna de las dos cosas genera un error.

price no se puede escribir: es el resultado calculado por WooCommerce y aparece en la respuesta para que puedas verificar el resultado.

Eliminar un precio de oferta

Para terminar una oferta, establece sale_price en un valor vacío. Omitir el argumento deja el precio de oferta existente en su lugar, que es justo lo contrario de terminarlo.

Esto confunde a la gente: «quitar el descuento» no se consigue actualizando el precio normal.

Stock

manage_stock y stock_quantity son independientes. Establecer una cantidad mientras la gestión está desactivada guarda un número que nada utiliza; activar la gestión sin establecer una cantidad puede hacer que un producto aparezca como agotado.

Lee ambos antes de cambiar cualquiera de los dos.

Cambiar el slug cambia una URL pública

Una URL de producto que los clientes tienen en marcadores, que aparece en campañas o que referencia un feed de un marketplace. Planifica redirecciones antes de cambiarla.

Cambiar solo name no mueve la URL.

Las categorías reemplazan

categories establece la lista completa de IDs de categoría. Pasar una sola categoría elimina las demás: el mismo comportamiento de reemplazo por defecto que wp_add_post_terms, y con la misma consecuencia para la navegación y los filtros de la tienda.

Lee primero las categorías actuales y pasa el conjunto completo que pretendes.

Otros plugins intervienen al guardar productos

Los plugins de precios dinámicos, divisas, feeds e inventario suelen actuar cuando se guarda un producto. El valor que escribiste no siempre es el valor que acaba almacenado.

Lee el producto de nuevo de forma independiente después de escribir, no solo la respuesta de la herramienta.

Cambios de precio masivos

Prueba primero con un producto, comprueba la tienda y continúa después:

Muéstrame el antes y el después solo del primer producto y detente.

Una regla de porcentaje aplicada a todo un catálogo se comporta de forma distinta en los productos que están en oferta. Establece qué debe hacer la regla en ese caso antes de ejecutarla.

Después de escribir

  1. Lee el producto de nuevo.
  2. Abre la página del producto en la tienda y comprueba el precio mostrado.
  3. Comprueba las páginas de listado de la tienda y de las categorías.
  4. Purga la caché y después la CDN.

Problemas comunes

Síntoma Causa
La escritura se rechaza Puerta de escritura del catálogo cerrada
pom_ai_mcp_wc_product_not_found ID incorrecto
pom_ai_mcp_wc_forbidden Falta la capacidad de tienda
El precio del cliente no cambió Sigue activo un precio de oferta
Empezó un descuento inesperadamente Se escribió sale_price
Las categorías desaparecieron La lista reemplaza en lugar de añadir
El valor almacenado difiere de lo que enviaste Otro plugin actuó al guardar
La tienda muestra el precio antiguo Caché o CDN no purgadas

Permisos de objetos

El acceso al catálogo por sí solo no autoriza todos los objetos. Las actualizaciones y las lecturas privadas comprueban el objeto seleccionado; las operaciones con variaciones también comprueban su producto principal. La eliminación requiere capacidades de eliminación. Crear un cupón requiere capacidades de creación y publicación de cupones; crear un atributo global requiere manage_product_terms. Toda escritura utiliza el flujo de trabajo de aprobación.