Crear plantillas y reutilizar scripts existentes

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.

Usa pom_theme_upsert_html_template para crear o actualizar una plantilla de archivo, de artículo individual o de feed. POM Theme es responsable de su renderizado y de sus recursos generados. El agente suministra el HTML y las selecciones de recursos existentes.

Argumentos de la plantilla

Argumento Obligatorio Significado
template_type Sí archive, single o feed
template_name Sí Nombre visible actual o nuevo
template_html Sí Marcado de reemplazo completo
repeater_identifier Sí ID estable de la plantilla a crear o actualizar
css_stylesheets No ID de hojas de estilo con nombre existentes o tokens de hojas de estilo nativas
js_scripts No ID de scripts existentes o tokens de funciones nativas del catálogo de scripts
dry_run No El JSON true valida y muestra una vista previa sin escribir

Las escrituras de plantillas requieren el ámbito de escritura POM Theme, Allow POM Theme writes y manage_options. Lee la plantilla antes de reemplazarla y pasa su nombre e identificador existentes. Omitir un campo de recurso conserva sus selecciones actuales; un array vacío explícito borra esa selección. Las plantillas nuevas comienzan con selecciones vacías salvo que se suministren.

El HTML se filtra con las reglas KSES de contenido de entradas de la instalación para todo actor, incluidos administradores y superadministradores. Los elementos de script y los manejadores en línea quedan excluidos. Se rechaza el PHP. La validación también comprueba las etiquetas de combinación conocidas, las condiciones equilibradas y el marcado no vacío. Lee el catálogo de etiquetas de combinación para el tipo de plantilla seleccionado.

Seleccionar JavaScript existente

POM AI puede reutilizar el JavaScript existente del tema sin crear ni modificar su código.

  1. Llama a pom_theme_get_script_catalog con target: "template" para plantillas, o target: "content" para páginas y entradas.
  2. Selecciona el id devuelto de cada script o función nativa que necesites. El catálogo devuelve nombres e identificadores, no código fuente. Las selecciones de contenido omiten los scripts ya configurados como globales.
  3. Para una plantilla, pasa esos ID en js_scripts al mostrar la vista previa y guardar pom_theme_upsert_html_template. La misma regla se aplica a las filas de plantilla en pom_theme_configure_content_model.
  4. Para una página, entrada o elemento de contenido personalizado público admitido, lee pom_theme_get_content_scripts con su id. Muestra la vista previa de pom_theme_assign_content_scripts con ese id, js_scripts y dry_run: true; después, aplícalo usando el expected_revision devuelto.
  5. Lee la selección guardada y verifica la página afectada, incluido el comportamiento en móvil. Borra la caché de la página correspondiente cuando sea necesario.

La asignación de scripts de contenido también requiere la puerta de escritura de contenido, la capacidad de editar ese elemento y edit_theme_options. Actualiza únicamente la selección de scripts y conserva los demás ajustes de tema del elemento. Pasa js_scripts: [] para eliminar sus selecciones.

Se rechazan las URL arbitrarias, las rutas del sistema de archivos, los identificadores no registrados y el código fuente de JavaScript. Los tokens de funciones nativas se usan exactamente como se devuelven, incluida la puntuación. Un script que no esté disponible o que se haya eliminado debe seleccionarse de nuevo en el catálogo actual; el MCP no puede recrearlo.

Añadir CSS y finalizar la plantilla

Crea o actualiza CSS con nombre conciso mediante pom_theme_upsert_custom_css y selecciona después su ID en css_stylesheets. Consulta CSS personalizado. Las referencias a hojas de estilo desconocidas también se rechazan.

Muestra la vista previa de la plantilla completa, aplícala, vuelve a leer el marcado almacenado y asígnala con pom_theme_assign_template. Actualizar una plantilla ya asignada a una vista de archivo o de artículo individual en producción afecta a esa vista de inmediato. Una plantilla de feed nueva debe ser seleccionada por su feed o listado.

Solución de problemas

  • pom_ai_mcp_script_not_registered: actualiza el catálogo de scripts y usa sus ID exactos; no envíes URL ni código.
  • pom_ai_mcp_stylesheet_not_registered: crea primero la hoja de estilos con nombre y actualiza el descubrimiento.
  • Conflicto de revisión en una asignación de contenido: vuelve a leer el elemento y revisa sus selecciones actuales.
  • HTML eliminado: la política de marcado permitido de la instalación lo filtró; usa un elemento permitido o un componente nativo.
  • Una herramienta o un grupo de escritura no está disponible: comprueba el destino, la activación de POM Theme, los ámbitos y los grupos de escritura. El modo de página multisitio delegado tiene su propio catálogo más reducido.

Relacionado: asignaciones de plantillas, habilidad de autoría del sitio y seguridad.