Cómo almacenar valores de casillas de verificación como una matriz

Introducción

¿Le interesa almacenar los valores de las casillas de verificación como una matriz en la entrada y en las notificaciones por correo electrónico? Normalmente, los campos de casilla de verificación muestran los elementos seleccionados individualmente en líneas separadas dentro de la entrada y las notificaciones.

por defecto, las selecciones de casillas de verificación se almacenan en una línea separada

Sin embargo, con el enfoque que estamos a punto de esbozar, puede asegurarse de que estos valores se almacenan como una matriz coherente. Este tutorial le guiará a través de los pasos necesarios para lograr esta presentación optimizada de las selecciones de casillas de verificación. Procedamos y optimicemos la representación de los datos.

Creación del formulario

Para iniciar el proceso, empecemos por crear un nuevo formulario e incorporar los campos esenciales. Asegúrese de que entre estos campos se incluye al menos un campo Checkbox. Esta base servirá para implementar la funcionalidad deseada. Sigamos adelante y configuremos nuestro formulario como corresponde.

comience creando su formulario y añadiendo sus campos, incluido al menos un campo de casilla de verificación

Si necesita ayuda para crear su formulario, consulte esta útil guía.

Añadir el fragmento

Ahora es el momento de añadir el fragmento que completará este proceso para usted. Si necesitas ayuda sobre cómo y dónde añadir snippets a tu sitio, revisa este tutorial.

/**
 * Display checkbox values in the email notification only as a one-liner.
 *
 * @link  https://wpforms.com/developers/how-to-store-checkbox-values-as-an-array/
 */
function wpf_inline_checkbox_values( $value, $field, $form_data, $context ) {

	// Check if there are any checkboxes in this submission
	if ( $field['type'] !== 'checkbox' ) {
		return $value;
	}

	// Return these values in a single line separated by a comma
	return str_replace( "\n", ', ', $value );
}
add_filter( 'wpforms_html_field_value', 'wpf_inline_checkbox_values', 10, 4 );

Este fragmento tomará cualquier valor de casilla de verificación de cualquier formulario WPForms y mostrará las selecciones como una sola línea separada por una coma para la entrada, así como la notificación por correo electrónico.

Ahora, cuando un usuario seleccione los elementos de la casilla de verificación, se almacenará y se enviará por correo electrónico en una sola línea para cada casilla de verificación que estará separada por una coma para cada selección.

ahora cada casilla de verificación se almacenará y enviará por correo electrónico en la notificación con una sola línea para cada casilla de verificación y sus selecciones separadas por una coma. esencialmente almacenar los valores de la casilla de verificación como una matriz

¡Y eso es todo lo que necesitas para almacenar los valores de las casillas de verificación como un array! ¿Le gustaría también abrir y cerrar un formulario basado en la hora del día? Eche un vistazo a nuestro tutorial sobre Cómo programar un formulario en función de la hora del día.

Referencia del filtro: wpforms_html_field_value

PREGUNTAS FRECUENTES

P: ¿Cómo puedo hacer esto sólo para las notificaciones por correo electrónico?

R: Si desea esta funcionalidad sólo para la plantilla de correo electrónico, primero asegúrese de que su Configuración de correo electrónico de WPForms esté establecida en correo electrónico HTML. Para saber cómo lograrlo, consulte esta documentación.

Una vez que haya confirmado que esta configuración está establecida en Plantilla HTML, utilice este fragmento para activar esta funcionalidad sólo para las notificaciones por correo electrónico.

/**
 * Display checkbox values in the email notification only as a one-liner.
 *
 * @link  https://wpforms.com/developers/how-to-store-checkbox-values-as-an-array/
 */
function wpf_inline_checkbox_values( $value, $field, $form_data, $context ) {

	// Check if there are any checkboxes in this submission and that the Email Template is HTML
	if ( $field['type'] !== 'checkbox' || $context !== 'email-html' ) {
		return $value;
	}

	// Return these values in a single line separated by a comma
	return str_replace( "\n", ', ', $value );
}
add_filter( 'wpforms_html_field_value', 'wpf_inline_checkbox_values', 10, 4 );