Möchten Sie Feldwerte für Dropdown-, Kontrollkästchen- und Multiple-Choice-Felder innerhalb des WPForms-Eintrags speichern? In diesem Tutorial zeigen wir Ihnen, wie Sie mit PHP den Feldwert anstelle der Feldbeschriftung übernehmen und innerhalb des Eintrags speichern können.
Speichern des Wertes innerhalb des Eintrags
In diesem Tutorial fügen wir die Snippets zunächst zu unserer Website hinzu, bevor wir das Formular erstellen. Wir tun dies einfach deshalb, weil ein Teil dieses Snippets darin besteht, die Option "Werte anzeigen" für die Dropdown-, Kontrollkästchen- und Multiple-Choice-Felder zu aktivieren.
Wenn Sie wissen möchten, wie und wo Sie Snippets hinzufügen können, lesen Sie bitte diese Anleitung.
Wir haben zwei separate Snippets hinzugefügt. Das erste Snippet folgt diesem Tutorial, mit dem wir Feldwerte für die Dropdown-, Checkbox- und Multiple-Choice-Felder hinzufügen können.
Das zweite Snippet nimmt die Formularübermittlung auf und greift bei der Verarbeitung auf den Feldwert anstelle der Feldbezeichnung zu, um ihn im Eintrag zu speichern.
Wichtig: Wenn Sie bedingte Logik in Benachrichtigungen verwenden, die sich auf das Dropdown-Feld stützt, kann dieses Snippet dazu führen, dass diese Regeln nicht mehr funktionieren.
Das liegt daran, dass die Benachrichtigungsbedingungen die Bezeichnung der Auswahl vergleichen, während dieses Snippet stattdessen den Wert der Auswahl speichert und verwendet. Da Bezeichnungen und Werte unterschiedlich sind, stimmen sie nicht überein und die Bedingung wird nicht ausgelöst.
Erstellen des Formulars
Jetzt ist es an der Zeit, Ihr Formular zu erstellen und Ihre Felder hinzuzufügen, die mindestens ein Dropdown, ein Kontrollkästchen oder eine Mehrfachauswahl enthalten.
Wenn Sie Hilfe bei der Erstellung von Formularen benötigen, lesen Sie bitte unsere ausführliche Dokumentation.

Für die Zwecke dieser Dokumentation haben wir ein Dropdown-Feld für die Kontaktpräferenz hinzugefügt. Um die Feldwerte hinzuzufügen, wählen Sie einfach das Feld aus und klicken Sie auf die Registerkarte Erweitert.

Klicken Sie auf die Schaltfläche, um die Option Werte anzeigen zu aktivieren, und klicken Sie dann zurück auf die Registerkarte Allgemein, um Ihre Feldwerte hinzuzufügen.

Nachdem Sie das Formular gespeichert haben, können Sie nun sehen, dass die Feldwerte im Formulareintrag und nicht in der Feldbeschriftung gespeichert werden.

Möchten Sie die Feldwerte auch über das Zapier-Addon senden? Werfen Sie einen Blick auf unser Tutorial über das Senden von Feldwerten an Excel mit Zapier.
Referenzfilter
FAQ
F: Wie kann ich nur ein einziges Formular anvisieren?
A: Wenn Sie nur 1 Formular ansprechen möchten, verwenden Sie stattdessen dieses Snippet. Sie müssen die 584 aktualisieren, damit sie mit Ihrer eigenen Formular-ID übereinstimmt. Um Ihre Formular-ID zu finden, schauen Sie sich bitte dieses Tutorial an, um Hilfe zu erhalten.
/**
* Show values in Dropdown, checkboxes, and Multiple Choice.
*
* @link https://wpforms.com/developers/add-field-values-for-dropdown-checkboxes-and-multiple-choice-fields/
*/
add_action( 'wpforms_fields_show_options_setting', '__return_true' );
/**
* Save choices 'values' instead of 'labels' for the fields with 'Show values' option enabled.
*
* @link https://wpforms.com/developers/how-to-store-field-values-in-the-wpforms-entry/
*/
function wpf_dev_process_filter_choices_values( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #584.
if ( absint( $form_data[ 'id' ] ) !== 584 ) {
return $fields;
}
if ( ! is_array( $fields ) ) {
return $fields;
}
foreach ( $fields as $field_id => $field ) {
if (
isset( $field[ 'type' ] ) &&
in_array( $field[ 'type' ], [ 'checkbox', 'radio', 'select' ], true ) &&
! empty( $form_data[ 'fields' ][ $field_id ][ 'show_values' ] )
) {
$value_raw = ! empty( $field[ 'value_raw' ] ) ? $field[ 'value_raw' ] : '';
$field[ 'value_raw' ] = $field[ 'value' ];
$field[ 'value' ] = $value_raw;
$fields[ $field_id ] = $field;
}
}
return $fields;
};
add_filter( 'wpforms_process_filter', 'wpf_dev_process_filter_choices_values', 10, 3 );