Renderizar y enviar formularios programáticos
pom_render_programmatic_form() devuelve el marcado completo y registra la carga útil del lado del servidor que necesita el flujo normal de envío de POM Forms.
Renderizar
Llámalo durante un renderizado del frontend después de que POM Theme haya cargado:
if ( function_exists( 'pom_render_programmatic_form' ) ) {
echo pom_render_programmatic_form( $layout, $config, $args );
}
La cadena devuelta es salida de confianza del renderizador de POM. No la pases por esc_html(), ya que rompería el formulario; asegúrate de que cada valor insertado en $layout, $config y $args fue construido/saneado por la integración.
Identidad de envío
POM deriva un ID de formulario numérico estable en tiempo de ejecución y un token firmado a partir de la definición del formulario. El token apunta a un transitorio de corta duración. Cuando la caché de página completa o la expiración del transitorio lo elimina, un descriptor de reconstrucción firmado puede reconstruir la definición exacta propiedad del código.
Nunca expongas un reconstruidor que acepte destinatarios, esquemas de campos, callbacks o IDs de publicación arbitrarios sin validación.
Assets
El renderizador en tiempo de ejecución encola los assets estándar del formulario y, opcionalmente, los assets de subida a Google Drive cuando el diseño los requiere. No encoles el paquete completo de formularios en todo el sitio desde la integración.
Matriz de pruebas
- envío con sesión cerrada y con sesión iniciada;
- refresco del nonce tras una página cacheada;
- reconstrucción de la carga útil tras la eliminación del transitorio;
- éxito y cada fallo de validación;
- ramas condicionales;
- enrutamiento de destinatarios;
- almacenamiento/retención;
- subidas y Drive cuando se utilicen;
- protección contra envíos duplicados;
- diseño móvil y foco de teclado;
- ausencia/alternativas cuando POM Theme o Forms esté desactivado.