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
- Lee el producto de nuevo.
- Abre la página del producto en la tienda y comprueba el precio mostrado.
- Comprueba las páginas de listado de la tienda y de las categorías.
- 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 |
Relacionado
wc_get_product— lee siempre primerowc_update_variationpara productos variables- Gestiona el catálogo de productos
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.