Speichern von Kontrollkästchenwerten als Array

Einführung

Sind Sie daran interessiert, die Werte Ihrer Kontrollkästchen als Array im Eintrag und in den E-Mail-Benachrichtigungen zu speichern? Normalerweise zeigen Checkbox-Felder die ausgewählten Elemente einzeln in separaten Zeilen innerhalb des Eintrags und der Benachrichtigungen an.

standardmäßig werden Markierungen in einer separaten Zeile gespeichert

Mit dem hier vorgestellten Ansatz können Sie jedoch sicherstellen, dass diese Werte in einem kohärenten Array gespeichert werden. Dieses Tutorial führt Sie durch die notwendigen Schritte, um diese optimierte Darstellung von Kontrollkästchenauswahlen zu erreichen. Lassen Sie uns fortfahren und Ihre Datendarstellung optimieren!

Erstellen des Formulars

Um den Prozess zu beginnen, erstellen wir zunächst ein neues Formular und fügen die wichtigsten Felder ein. Stellen Sie sicher, dass unter diesen Feldern mindestens ein Kontrollkästchen enthalten ist. Diese Grundlage wird als Basis für die Implementierung der gewünschten Funktionalität dienen. Lassen Sie uns fortfahren und Ihr Formular entsprechend einrichten.

Beginnen Sie mit der Erstellung Ihres Formulars und fügen Sie Ihre Felder hinzu, darunter mindestens ein Ankreuzfeld.

Wenn Sie Hilfe bei der Erstellung Ihres Formulars benötigen, sehen Sie sich bitte diesen nützlichen Leitfaden an.

Hinzufügen des Snippets

Jetzt ist es an der Zeit, das Snippet hinzuzufügen, das diesen Prozess für Sie abschließt. Wenn Sie Hilfe benötigen, wie und wo Sie Snippets zu Ihrer Website hinzufügen können, lesen Sie bitte diese Anleitung.

/**
 * 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 );

Dieses Snippet wird ein beliebiges Kontrollkästchen Wert aus einem WPForms Form und zeigen die Auswahlen als eine einzelne Zeile durch ein Komma getrennt für den Eintrag als auch die E-Mail-Benachrichtigung.

Wenn ein Benutzer nun ein Kontrollkästchen auswählt, wird dies in einer einzigen Zeile für jedes Kontrollkästchen gespeichert und per E-Mail verschickt, wobei jede Auswahl durch ein Komma getrennt wird.

Jetzt wird jedes Kontrollkästchen in der Benachrichtigung gespeichert und per E-Mail verschickt, wobei für jedes Kontrollkästchen und seine Auswahl jeweils eine einzelne Zeile durch ein Komma getrennt wird.

Und das ist alles, was Sie brauchen, um die Werte von Kontrollkästchen als Array zu speichern! Möchten Sie ein Formular auch in Abhängigkeit von der Tageszeit öffnen und schließen? Werfen Sie einen Blick auf unser Tutorial über die Planung eines Formulars auf Basis der Tageszeit.

Filter-Referenz: wpforms_html_field_value

FAQ

F: Wie kann ich dies nur für die E-Mail-Benachrichtigungen tun?

A: Wenn Sie diese Funktionalität nur für die E-Mail-Vorlage wünschen, stellen Sie zunächst sicher, dass Ihre WPForms E-Mail-Einstellungen auf HTML-E-Mail eingestellt sind. Wie Sie das erreichen, lesen Sie bitte in dieser Dokumentation nach.

Sobald Sie bestätigt haben, dass diese Einstellungen auf HTML-Vorlage eingestellt sind, verwenden Sie dieses Snippet, um diese Funktion nur für E-Mail-Benachrichtigungen zu aktivieren.

/**
 * 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 );