Descripción

En wpforms_frontend_output_before se dispara antes de que se muestre un formulario en el front-end del sitio, sólo si el formulario existe y contiene campos.

Parámetros

$form_data
(array) Ajustes/datos del formulario procesados, preparados para su uso posterior.
$forma
(WP_Post) Objeto de tipo post de formulario.

Fuente

wpforms/src/Frontend/Frontend.php

Más información

En wpforms_frontend_output_before sólo se dispara para formularios válidos no vacíos, se ejecuta al principio del proceso de renderización de la salida.

En algunos casos, la acción puede dispararse pero el formulario no se mostrará, por ejemplo, mostrando un mensaje de confirmación del formulario o activando el botón wpforms_frontend_load filtro.

Una acción alternativa a considerar es wpforms_frontend_output_after, ya que funciona de manera similar, excepto que sólo se dispara después de que se muestra el formulario.

Ejemplos

En nuestro fragmento de código de ejemplo, que verá a continuación, vamos a comprobar primero si el ID del formulario es igual a 5. Si lo es, enviaremos un enlace para descargar el catálogo digital.

Sólo recuerda cambiar el ID del formulario de 5 para que coincida con el ID del formulario específico en el que desea ejecutar el código. Eliminando esa comprobación se ejecutaría para todos los formularios.

/**
 * Output something before your form(s).
 * 
 * @link  https://wpforms.com/developers/wpforms_frontend_output_before/
 *
 * @param array  $form_data Form data and settings.
 * @param object $form      Form post type object.
 */

function wpf_dev_frontend_output_before( $form_data, $form ) {
    
    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #5.
    if ( absint( $form_data[ 'id' ] ) !== 5 ) {
        return;
    } 

    // Run code or see the example echo statement below.
    _e( '<p>If you would like to download our digital catalog, <a href="http://yourlinkurl.com/" target="_blank">click here</a>.</p>', 'plugin-domain' );

}

add_action( 'wpforms_frontend_output_before', 'wpf_dev_frontend_output_before', 10, 2 );

Artículos de referencia

Cómo añadir un vídeo antes del formulario