wp_update_post: actualizar una entrada
Actualiza una entrada existente. Es la escritura cotidiana más relevante en el servidor, porque el destino suele estar publicado.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
id |
Sí | La entrada que se va a actualizar |
title |
No | Nuevo título |
content |
No | Nuevo cuerpo |
excerpt |
No | Nuevo extracto |
slug |
No | Nuevo slug |
status |
No | Nuevo estado |
dry_run |
No | Informar sin escribir |
Permisos
Allow content writes abierto, y edit_post sobre ese elemento concreto — no solo edit_posts. Un usuario que puede editar sus propias entradas no puede actualizar las de otra persona.
Ámbitos: mcp:read, mcp:write, wp:content:read, wp:content:write.
Solo se cambian los campos que pasas
Los campos que omites se dejan tal y como están, incluido el estado. Actualizar una entrada publicada sin pasar status la deja publicada.
Eso hace que una edición dirigida sea segura: pasar solo title cambia únicamente el título.
El campo con el que hay que tener cuidado es content
content sustituye el cuerpo por completo. No hay actualización parcial, ni combinación, ni parche.
Un asistente al que se le pide «arreglar el segundo párrafo» y que envía el campo content entero ha reescrito toda la entrada, y todo lo que no reprodujo con fidelidad ha desaparecido del registro en vivo.
Dos defensas:
Lee primero y acota la instrucción.
Lee la entrada 412. Cambia solo el párrafo inicial. Deja todos los demás párrafos exactamente como están.
Usa la ejecución en seco. La ejecución en seco de la actualización devuelve before y after, que es la forma más barata de comprobar si «cambiar un párrafo» se entendió como pretendías.
Usa una ejecución en seco y muéstrame el antes y el después.
Cambiar el slug cambia la URL
slug no se regenera cuando cambia el título, de modo que editar solo el título no mueve la página. Pasarlo con slug sí lo hace, y una URL cambiada rompe enlaces entrantes, marcadores y resultados de búsqueda.
Si un slug debe cambiar, planifica la redirección antes de la escritura.
Recuperación
Los cambios de contenido pasan por la ruta de guardado normal de WordPress, así que normalmente existen revisiones para el título, el contenido y el extracto. No cubren los términos, los metadatos ni la imagen destacada.
Mejor que depender de las revisiones: pide los valores actuales antes de cambiarlos, para que la conversación conserve tu deshacer.
Muéstrame el título y el extracto actuales y, después, aplica el cambio.
Consulta Recuperarse de una escritura fallida.
Qué devuelve
La entrada actualizada en su forma estándar, incluido content.
Léela de nuevo de forma independiente después. La respuesta de la escritura refleja lo que se guardó; una lectura independiente también detecta si un filtro u otro plugin alteró el valor.
Usarlo bien
Lee la entrada 412, muéstrame el título, cambia solo el título a «…» y vuelve a leerla.
Para publicar algo:
Pon la entrada 412 en publicada.
Para despublicar:
Pon la página 88 en borrador.
Ambas son explícitas, que es como deberían ser los cambios de estado.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | La puerta de escritura de contenido está cerrada |
pom_ai_mcp_post_not_found |
ID incorrecto, o un tipo de entrada no público |
pom_ai_mcp_forbidden |
Sin edit_post sobre ese elemento |
| Se cambió más de lo previsto | content se envió entero |
| La URL cambió | Se pasó slug |
| El diseño se rompió | Contenido del constructor reescrito sin leer su estructura |
| El sitio muestra la versión antigua | La caché no se purgó |
Relacionado
wp_get_post— llama siempre a esto primerowp_update_page- Actualizar una página de forma segura