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

  1. Lee de nuevo las asignaciones y confirma que el identificador está almacenado, especialmente en el caso de cpt_single.
  2. Carga el archivo o artículo afectado.
  3. Para las asignaciones de feed, comprueba varios elementos de resultado, no solo uno.
  4. 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