pom_theme_upsert_custom_css: crear o actualizar CSS personalizado gestionado
Las filas nuevas requieren un repeater_identifier estable. Reutiliza ese identificador en la vista previa, la aprobación y la ejecución; las filas existentes del modelo de contenido pueden conservar sus identificadores guardados. Aplícalo mediante el flujo de trabajo de aprobación de escritura.
Escribe un fragmento de CSS con nombre. Crea uno nuevo o reemplaza uno existente, según pases o no un identificador.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
stylesheet_name |
Sí | La etiqueta del fragmento |
css |
Sí | El CSS completo de este fragmento |
repeater_identifier |
Sí | ID estable del fragmento que se va a crear o actualizar |
dry_run |
No | Informar sin escribir |
Permisos
Permitir POM Theme de escritura abierto, más manage_options.
El identificador decide si se crea o se reemplaza
Elige un repeater_identifier sin usar para crear un fragmento, o reutiliza su ID existente para actualizarlo en su lugar. Mantén el mismo identificador en la vista previa, la aprobación y la ejecución.
Ambos caminos informan de updated: true, así que la respuesta no te dice cuál de las dos cosas ha ocurrido. Cuenta los fragmentos después si es relevante.
El modo de fallo es la duplicación: un asistente al que se le pide «actualizar el CSS del banner» y que omite el identificador crea un segundo fragmento de banner, y ambos se compilan ahora en el sitio. El estilo se vuelve más desordenado en lugar de arreglarse.
Enumera los fragmentos y dame el identificador del banner, y luego actualiza ese identificador.
css reemplaza todo el contenido del fragmento
No es una combinación ni una adición. Lo que envíes es el fragmento.
Esa es la gracia de los fragmentos — el radio de impacto es un solo fragmento en lugar de toda la hoja de estilos — pero dentro de ese fragmento el reemplazo es total. Léelo primero con pom_theme_get_custom_css y guarda la copia; no hay revisiones.
stylesheet_name es obligatorio incluso al actualizar
No puedes cambiar el CSS y dejar el nombre igual omitiéndolo. Debe enviarse, y lo que envíes se convierte en el nombre.
Así que una actualización que olvide el nombre actual renombra silenciosamente el fragmento. Lee el nombre junto con el identificador y devuélvelo sin cambios, salvo que quieras renombrarlo.
La validación es limitada
El CSS que contenga etiquetas de apertura de PHP o </style> se rechaza con pom_ai_mcp_css_denied. No se comprueba nada más.
El CSS mal formado — una llave sin cerrar, una propiedad no válida — se acepta y se guarda. Como el fragmento se compila en la hoja de estilos del sitio junto con todo lo demás, un fragmento roto puede dañar las reglas que vengan después de él en la salida compilada.
El sitio es la prueba, no la respuesta.
La simulación muestra la fila, no una comparación
Devuelve la fila que se almacenaría: el identificador, el nombre y el contenido CSS. Lo que no devuelve es el contenido actual del fragmento.
Así que, a diferencia de la simulación del CSS global, aquí no hay before. Si quieres una comparación, lee primero el fragmento y compáralo tú mismo:
Lee el fragmento, luego simula el reemplazo y muéstrame ambos.
La simulación sí confirma algo útil: qué identificador se escribiría. Si muestra un ID recién generado cuando esperabas uno existente, estás a punto de crear un duplicado.
Cada escritura reconstruye el CSS del sitio
Se dispara la rutina de guardado del tema y los recursos CSS se regeneran. La respuesta incluye los metadatos del recurso resultante — comprueba que la marca de tiempo se haya movido.
Luego purga la caché. La reconstrucción cambia el archivo; las cachés siguen sirviendo el antiguo.
Dividir una hoja de estilos grande
Mover reglas de la hoja de estilos global a fragmentos es un buen cambio, y delicado:
- Lee el CSS global y consérvalo.
- Crea cada fragmento y verifica el sitio después de cada uno.
- Solo entonces reescribe la hoja de estilos global sin las reglas movidas.
Hacer primero el paso 3 deja el sitio sin estilos en el intervalo.
Después de escribir
- Enumera los fragmentos y confirma que el número no haya crecido de forma inesperada.
- Confirma que el nombre sea el que pretendías.
- Comprueba que la marca de tiempo de la hoja de estilos generada se haya movido.
- Purga la caché y luego carga las páginas afectadas.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | Compuerta de escritura POM Theme cerrada |
pom_ai_mcp_forbidden |
Falta manage_options |
pom_ai_mcp_css_denied |
Etiquetas PHP o </style> en el CSS |
| Apareció un fragmento duplicado | Se suministró un repeater_identifier diferente |
| El fragmento fue renombrado | stylesheet_name se envió con un valor nuevo |
| Las reglas que tenías han desaparecido | El contenido reemplaza, dentro de ese fragmento |
| El estilo del sitio se rompió | El CSS no válido no se rechaza |
| No hay cambio visible | Caché o CDN |
Relacionado
pom_theme_get_custom_css— obtén primero el identificadorpom_theme_delete_custom_csspom_theme_update_global_css