Crear y asignar plantillas POM Theme

Una plantilla es un marcado que se aplica a muchas páginas a la vez. Ese multiplicador es lo que hace útiles a las plantillas y lo que convierte un error en una de ellas en algo costoso.

Requisitos

  • El tema POM activo.
  • Allow POM Theme writes abierto.
  • pom_theme:read y pom_theme:write.
  • manage_options en el usuario que actúa — las plantillas se sitúan detrás de una barra más alta que el contenido.
  • Entorno de pruebas. Este es el grupo donde eso deja de ser un consejo.

Las herramientas

Herramienta Hace
pom_theme_list_html_templates Lista las plantillas existentes
pom_theme_get_html_template Lee una
pom_theme_upsert_html_template Crea o actualiza una
pom_theme_delete_html_template Elimina una
pom_theme_get_template_assignments Ve qué está asignado y dónde
pom_theme_assign_template Asigna una plantilla

Además, desde el grupo de autoría, pom_get_template_schema, pom_get_available_mergetags y pom_validate_template_markup.

Tres tipos de plantilla

Archivo, individual y feed. Cada una espera una estructura diferente y cada una tiene su propio prompt publicado: create_archive_template_pom, create_single_template_pom y create_feed_template_pom.

Esos prompts codifican la secuencia que sigue, incluido el paso de validación. Empieza por uno donde corresponda. Consulta Recetas de prompt.

La secuencia

  1. pom_theme_list_html_templates — mira qué existe. Crear un casi duplicado de una plantilla existente es un lío común y evitable.
  2. pom_get_template_schema para el tipo que estás creando.
  3. pom_get_available_mergetags — las etiquetas válidas para este sitio.
  4. Redacta el marcado.
  5. pom_validate_template_markup — valida, incluidas las etiquetas de combinación.
  6. Corrige y vuelve a validar hasta que pase.
  7. pom_theme_upsert_html_template — escríbela.
  8. pom_theme_get_template_assignments — mira las asignaciones actuales antes de cambiarlas.
  9. pom_theme_assign_template — asígnala.
  10. Mira las páginas renderizadas.

Los pasos 2, 3 y 5 son los que un asistente se salta salvo que se le indique. Dilo así:

Lee primero el esquema de la plantilla y las etiquetas de combinación disponibles. Valida el marcado y muéstrame el resultado antes de escribir nada.

Las etiquetas de combinación fallan en silencio

Una etiqueta de combinación no válida no genera ningún error. Se renderiza como texto literal, o como nada, en cada página que usa la plantilla.

Como eso es invisible en el marcado almacenado y visible en el sitio, la validación es la única forma práctica de detectarlo antes de publicar. Nunca te saltes el paso 5.

La asignación es el momento del impacto

Escribir una plantilla no cambia nada. Asignarla cambia cada página que coincide.

Lee primero las asignaciones actuales y sabe qué estás reemplazando:

Muéstrame las asignaciones de plantilla actuales antes de cambiar nada.

Asigna al objetivo más estrecho que puedas mientras pruebas. Si el tema permite asignar por tipo de contenido o por archivo específico, usa eso en lugar de una asignación para todo el sitio en una primera prueba.

Después de asignar

Comprueba más de una página. Una plantilla que se ve bien en la entrada en la que estabas pensando puede estar mal en:

  • una entrada sin imagen destacada;
  • una entrada con un título muy largo o muy corto;
  • un archivo con un resultado y otro sin ninguno;
  • la primera página y una página paginada;
  • el ancho móvil.

Luego purga la caché. Las plantillas afectan a cada página que cubren, así que una copia en caché es la diferencia entre «ha funcionado» y «parece que ha funcionado».

Eliminar plantillas

pom_theme_delete_html_template elimina una plantilla. Comprueba las asignaciones primero — eliminar una plantilla asignada deja a las páginas que la usaban sin una.

Si una plantilla no se usa, eliminarla es seguro. Si no puedes establecer que no se usa, no la elimines.

Problemas comunes

Síntoma Causa
pom_ai_mcp_invalid_template_type No es uno de archivo, individual o feed
pom_ai_mcp_template_validation_failed El marcado no validó; lee los errores
pom_ai_mcp_template_php_denied PHP no está permitido en el marcado de la plantilla
pom_ai_mcp_template_not_found Identificador incorrecto; lista primero las plantillas
pom_ai_mcp_invalid_template_assignment El objetivo de asignación no es válido
Las etiquetas de combinación se muestran como texto La etiqueta no es válida en este sitio
Las páginas se ven igual La caché no se purgó
Algunas páginas se rompieron, otras están bien La plantilla no maneja un caso límite