¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Cómo incluir descripciones de campo dentro de las notificaciones por correo electrónico

¿Te gustaría incluir las descripciones de los campos en las notificaciones por correo electrónico? Por defecto, el {all_fields} incluye todos los campos del formulario y las etiquetas que se rellenan desde el formulario, con la excepción de las descripciones. Sin embargo, puedes incluir fácilmente descripciones en las notificaciones por correo electrónico utilizando un pequeño fragmento de PHP. ¡En este tutorial, te guiaremos paso a paso sobre cómo lograr esto!

Ten en cuenta que estos fragmentos no funcionarán si has seleccionado la plantilla de correo electrónico Texto sin formato.

Creación de su formulario

Primero, necesitarás crear tu formulario. Nuestro formulario tendrá solo unos pocos campos incluidos y solo un campo tendrá la Descripción del campo introducida.

Una vez que hayas creado tu formulario, simplemente completa las descripciones de los campos que deseas incluir en tu notificación por correo electrónico.

Añade tus descripciones de campos para que se incluyan en tus notificaciones por correo electrónico

Si necesitas ayuda para crear tu formulario, visita esta documentación.

Selección de la plantilla de correo electrónico

En este tutorial, deberás asegurarte de no tener seleccionada la plantilla de correo electrónico Texto sin formato. Si no estás seguro de qué configuración tienes o qué es esta configuración, siempre puedes revisar esta documentación para ver dónde cambiar esta opción.

En los Ajustes de WPForms, en la pestaña de Correo electrónico, este tutorial utiliza el ajuste de Plantilla de correo electrónico HTML

Incluir las descripciones de los campos en la notificación

Ahora es el momento de añadir el fragmento a tu sitio. Si necesitas ayuda para añadir fragmentos a tu sitio, consulta este tutorial.

/*
 * Include field descriptions inside email notifications.
 *
 * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/
 */

function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) {
   
    if ( $context !== 'email-html' ) {
        return $field_val;
    }
 
    if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) {
        return $field_val;
    }
 
    $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ];
 
    if ( empty( $field_data[ 'description' ] ) ) {
        return $field_val;
    }
 
    return $field_val . '<p>' . $field_data[ 'description' ] . '</p>';
 
}
add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );

Al añadir este fragmento, las descripciones de tus campos se incluirán en todas tus notificaciones por correo electrónico.

Ahora las descripciones de los campos se incluirán en cada notificación

¡Y eso es todo! ¡Ahora has incluido las descripciones de los campos en tus notificaciones por correo electrónico! ¿Te gustaría también ocultar las opciones de imagen de las notificaciones por correo electrónico? Echa un vistazo al artículo sobre Cómo ocultar opciones de imagen en correos de notificación.

Filtro de Referencia

wpforms_html_field_value

Preguntas frecuentes

P: ¿Puedo dar estilo a las descripciones de los campos en la notificación?

R: Puedes añadir algo de estilo CSS a las descripciones de los campos utilizando este fragmento.

/*
 * Include field descriptions inside email notifications.
 *
 * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/
 */

function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) {
  
	if ( $context !== 'email-html' ) {
	    return $field_val;
	}

	if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) {
	    return $field_val;
	}

	$field_data = $form_data[ 'fields' ][ $field[ 'id' ] ];

	if ( empty( $field_data[ 'description' ] ) ) {
	    return $field_val;
	}

	return $field_val . '<p style="padding:10px;background-color:#f6f6f6; color: #333333;"><i>' . $field_data[ 'description' ] . '</i></p>';

}
add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );

Ahora puedes añadir estilos a las descripciones de los campos con este filtro

¿P: ¿Puedo dirigirme solo a 1 formulario por su ID?

R: ¡Absolutamente! Si solo quieres hacer esto para un formulario, usa este fragmento.

/*
 * Include field descriptions inside email notifications.
 *
 * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/
 */

function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) {
	
	// Only process this on form ID 780
	if ( $form_data[ 'id' ] !== '780' ) {
		return $field_val;
    }
   
    if ( $context !== 'email-html' ) {
        return $field_val;
    }
 
    if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) {
        return $field_val;
    }
 
    $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ];
 
    if ( empty( $field_data[ 'description' ] ) ) {
        return $field_val;
    }
 
    return $field_val . '<p>' . $field_data[ 'description' ] . '</p>';
 
}
add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );

Necesitarás reemplazar el 780 en el fragmento para que coincida con tu propio ID de formulario. Si necesitas ayuda para encontrar tu ID de formulario, revisa este tutorial.

¿P: ¿Cómo puedo añadir las descripciones de los campos a las entradas?

R: Puedes incluir descripciones de campos al ver las entradas de tu formulario añadiendo este fragmento a tu sitio.

/*
 * Include field descriptions inside form entries.
 *
 * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/
 */

function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) {
   
    if ( $context !== 'entry-single' ) {
        return $field_val;
    }
 
    if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) {
        return $field_val;
    }
 
    $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ];

    if ( empty( $field_data[ 'description' ] ) ) {
        return $field_val;
    }
 
    return $field_val . '<br><br>' . $field_data[ 'description' ];
 
}
add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );

Al usar entry-single, permitimos que las descripciones de los campos se vean al ver una entrada individual. Las descripciones de los campos no se guardarán permanentemente en todas las entradas; usando este fragmento en la entrada actual que se está viendo, las descripciones de los campos se mostrarán en pantalla.

¿P: ¿Puedo añadir solo descripciones de campos específicas en lugar de todas?

R: ¡Absolutamente! Para este ejemplo, solo incluiremos las descripciones del campo Nombre.

/*
 * Include field descriptions inside form entries.
 *
 * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/
 */

function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) {
	
    if ( $context !== 'email-html' ) {
        return $field_val;
    }

    if ( $field['type'] !== 'name' ) {
        return $field_val;
    }

    if ( empty( $form_data[ 'fields' ][$field[ 'id' ]] ) ) {
        return $field_val;
    }

    $field_data = $form_data[ 'fields' ][$field[ 'id' ]];

    if ( empty( $field_data[ 'description' ] ) ) {
        return $field_val;
    }

    return $field_val . '<br><br>' . $field_data[ 'description' ];
}
add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );