pom_theme_assign_template: asignar una plantilla
Apunta una parte del sitio hacia una plantilla personalizada. Esta es la llamada que hace que una plantilla se renderice.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
target_type |
Sí | Qué cambiar; consulta más abajo |
template_id |
Sí | El identificador de la plantilla |
post_type |
Para objetivos de CPT | Qué tipo de contenido personalizado |
archive_results_layout |
No | El contenedor de resultados, para objetivos de feed |
dry_run |
No | Validar sin escribir |
Permisos
Permitir POM Theme escrituras abierto, más manage_options.
Los seis objetivos
target_type |
Asigna una | A |
|---|---|---|
post_archive |
plantilla de archivo | el archivo del blog |
post_archive_feed |
plantilla de feed | los resultados del archivo del blog |
post_single |
plantilla de artículo individual | los artículos individuales |
cpt_archive |
plantilla de archivo | el archivo de un tipo de contenido personalizado |
cpt_archive_feed |
plantilla de feed | los resultados de ese archivo |
cpt_single |
plantilla de artículo individual | los artículos individuales de ese tipo de contenido |
Cualquier otra cosa devuelve pom_ai_mcp_unknown_assignment_target.
Los tres objetivos de cpt_ requieren post_type, y el tipo de contenido debe estar registrado; de lo contrario, pom_ai_mcp_unknown_post_type.
El tipo de plantilla debe coincidir con el objetivo
Un objetivo de archivo acepta una plantilla de archivo, un objetivo de artículo individual una plantilla de artículo individual y un objetivo de feed una plantilla de feed. La herramienta deduce el tipo esperado a partir del objetivo y rechaza una discordancia con pom_ai_mcp_template_not_found.
Por tanto, ese error tiene dos causas: el identificador no existe en absoluto, o existe como un tipo diferente. Comprueba ambas.
archive_results_layout se aplica solo a los objetivos de feed
Establece el contenedor dentro del cual se renderizan los elementos de resultado. Valores aceptados:
default, default_masonry, only_image, horizontal_list, horizontal_list_thumbnail, horizontal_list_big, horizontal_list_creative, no_wrapper.
Cualquier otra cosa devuelve pom_ai_mcp_invalid_archive_results_layout. Omitirlo deja el contenedor actual tal cual.
El contenedor y la plantilla de feed son cosas diferentes: la plantilla es la tarjeta, el contenedor es la cuadrícula o lista en la que se asienta. Una tarjeta diseñada para una cuadrícula puede verse mal en horizontal_list, así que cámbialos juntos y comprueba el resultado.
Sobrescribe sin decirte qué había antes
La respuesta es updated: true y nada más. La asignación anterior no se comunica.
Lee primero pom_theme_get_template_assignments y conserva el valor: es lo que necesitarías para deshacer el cambio.
Lee las asignaciones y, a continuación, asigna la nueva plantilla solo al archivo del blog.
cpt_single puede comunicar éxito sin cambiar nada
El diseño del tipo de contenido individual se almacena en la propia definición del tipo de contenido, y la herramienta actualiza la fila cuyo slug coincide. Si ninguna fila coincide — el tipo de contenido existe en WordPress pero no es uno de los tipos de contenido personalizados propios de POM Theme — no cambia nada y la respuesta sigue siendo updated: true.
Así que una asignación de cpt_single que parece tener éxito y no surte efecto suele significar que el tipo de contenido está registrado por un plugin y no por POM Theme.
Confírmalo leyendo de nuevo las asignaciones y comprobando que el single_layout del tipo de contenido contiene realmente tu identificador. Este es el único objetivo en el que la verificación no es opcional.
La ejecución en seco valida correctamente
Ejecuta la comprobación del objetivo, la comprobación del tipo de contenido, la comprobación de existencia y tipo de la plantilla y la comprobación del valor del contenedor; después devuelve lo que asignaría, sin escribir.
Así que una ejecución en seco es una prueba real de que la asignación es posible:
Ejecuta en seco la asignación de esa plantilla al archivo de productos.
Si la ejecución en seco supera la prueba, la llamada real asignará. Lo que no puede decirte es qué aspecto tendrá la página.
El cambio es inmediato y público
No hay borrador. En cuanto la escritura se aplica y las cachés se vacían, los visitantes ven la nueva plantilla.
Para un archivo en producción, es preferible crear y revisar primero la plantilla y asignarla después en un periodo de poca actividad.
Después de asignar
- Lee de nuevo las asignaciones y confirma que el identificador está almacenado, especialmente en el caso de
cpt_single. - Carga el archivo o artículo afectado.
- Para las asignaciones de feed, comprueba varios elementos de resultado, no solo uno.
- Purga la caché.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | Puerta de escritura de POM Theme cerrada |
pom_ai_mcp_forbidden |
Falta manage_options |
pom_ai_mcp_unknown_assignment_target |
No es uno de los seis objetivos |
pom_ai_mcp_unknown_post_type |
Falta post_type o no está registrado |
pom_ai_mcp_template_not_found |
Identificador incorrecto o tipo de plantilla incorrecto para este objetivo |
pom_ai_mcp_invalid_archive_results_layout |
Valor de contenedor no admitido |
updated: true pero no cambia nada |
Un objetivo de cpt_single cuyo tipo de contenido no es de POM Theme |
| Las tarjetas se ven mal en la cuadrícula | El diseño de la plantilla y del contenedor no coinciden |
| La plantilla antigua sigue renderizándose | Caché o CDN |
Relacionado
pom_theme_get_template_assignments— léelo primeropom_theme_upsert_html_template— créala primeropom_theme_configure_content_model— haz ambas cosas a la vez