Descripción

Filtra la salida del mensaje de confirmación en todo el sitio.

Parámetros

$mensaje
(cadena) (Obligatorio) Mensaje de confirmación, incluidas las etiquetas inteligentes procesadas.
$form_data
(array) (Obligatorio) Ajustes/datos del formulario procesados, preparados para su uso posterior.
$campos
(array) (Obligatorio) Datos de campo saneados.
$entry_id
(int) (Obligatorio) Id. de entrada.

Fuente

wpforms/src/Frontend/Frontend.php

Más información

El filtro se aplica a todos los formularios configurados para mostrar un mensaje de confirmación. Se puede utilizar para cambiar o sustituir el mensaje de confirmación que se muestra, anulando el contenido del mensaje establecido en el generador de formularios.

Ejemplos

El ejemplo que se muestra a continuación capturará el nombre del usuario que rellenó el formulario y luego dará un mensaje más personalizado para el mensaje de confirmación.

Sólo recuerda cambiar el ID del formulario de 25 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.

/**
 * Filters confirmation message output site-wide.
 *
 * @link   https://wpforms.com/developers/wpforms_frontend_confirmation_message/
 * 
 * @param  string   $message     Confirmation message including Smart Tags.
 * @param  array    $form_data   Form data and settings.
 * @param  array    $fields      Sanitized field data.
 * @param  int      $entry_id    Entry ID.
 *
 * @return string
 */

function wpf_dev_frontend_confirmation_message( $message, $form_data, $fields, $entry_id ) {
    
    // Only run on my form with ID = 25
    if ( absint( $form_data[ 'id' ] ) !== 25 ) {
            return $message;
        } 

    // also it is possible to access the first, middle, and the last name as follows inplace of [ 'value' ]
    //  $contact_name = $fields[ '0' ][ 'first' ]; - this will pass in the first name
    //  $contact_name = $fields[ '0' ][ 'last' ]; - this will pass in the last name
    //  $contact_name = $fields[ '0' ][ 'middle' ]; - this will pass in the middle name in the format First Middle Last
         
    // Get the name field ID '0' to set the name for the message
    $contact_name = $fields[ '0' ][ 'value' ];
    
    // Add the name to the message
    $message = __('Thanks ' . $contact_name .  ' we will be in touch!', 'plugin-domain');
    return $message;
     
}
add_filter( 'wpforms_frontend_confirmation_message', 'wpf_dev_frontend_confirmation_message', 10, 4 );

Artículos de referencia