Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Speichern von Feldwerten im WPForms-Eintrag

Möchten Sie Feldwerte für die Felder Dropdown, Kontrollkästchen und Mehrfachauswahl in der WPForms-Eingabe speichern? In diesem Tutorial zeigen wir Ihnen, wie Sie PHP verwenden, um den Feldwert anstelle der Feldbezeichnung zu verwenden und ihn in der Eingabe zu speichern.

Speichern des Werts in der Eingabe

Für dieses Tutorial werden wir die Snippets zuerst auf unserer Website hinzufügen, bevor wir das Formular erstellen. Wir tun dies einfach, weil ein Teil dieses Snippets darin besteht, die Option für die Felder Werte anzeigen für die Felder Dropdown, Kontrollkästchen und Mehrfachauswahl zu aktivieren.

Für Hilfe, wie und wo Snippets hinzugefügt werden, lesen Sie bitte dieses Tutorial.

Wir haben zwei separate Snippets hinzugefügt. Das erste Snippet folgt diesem Tutorial, das es uns ermöglicht, Feldwerte für die Felder Dropdown, Kontrollkästchen und Mehrfachauswahl hinzuzufügen.

Das zweite Snippet nimmt die Formularübermittlung entgegen und erfasst während der Verarbeitung den Feldwert anstelle der Feldbezeichnung, um ihn in der Eingabe zu speichern.

Wichtig: Wenn Sie bedingte Logik in Benachrichtigungen verwenden, die auf dem Dropdown-Feld basieren, kann dieses Snippet dazu führen, dass diese Regeln nicht mehr funktionieren.

Dies liegt daran, dass Benachrichtigungsbedingungen die Auswahlbezeichnung vergleichen, während dieses Snippet stattdessen den Auswahlwert speichert und verwendet. Da Bezeichnungen und Werte unterschiedlich sind, stimmen sie nicht überein und die Bedingung wird nicht ausgelöst.

Erstellung des Formulars

Jetzt ist es an der Zeit, Ihr Formular zu erstellen und Ihre Felder hinzuzufügen, die mindestens ein Dropdown, Kontrollkästchen oder Mehrfachauswahl enthalten.

Wenn Sie Hilfe beim Erstellen von Formularen benötigen, lesen Sie bitte unsere detaillierte Dokumentation.

Beginnen Sie mit der Erstellung Ihres Formulars und dem Hinzufügen Ihrer Felder

Für den Zweck 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 Anzeige von Werten zu aktivieren

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

Fügen Sie die Werte hinzu, die Sie für Ihr Feld wünschen

Sobald Sie das Formular gespeichert haben, können Sie nun sehen, dass die Feldwerte anstelle der Feldbezeichnung in der Formulareingabe gespeichert werden.

Mit diesem Codeausschnitt können Sie die Feldwerte im Eintrag speichern

Möchten Sie die Feldwerte auch über das Zapier-Addon senden? Schauen Sie sich unser Tutorial an So senden Sie Feldwerte mit Zapier an Excel.

Referenzfilter

wpforms_process_filter

FAQ

F: Wie kann ich nur ein einzelnes Formular ansprechen?

A: Um nur 1 Formular anzusprechen, verwenden Sie stattdessen dieses Snippet. Sie müssen die 584 aktualisieren, um Ihre eigene Formular-ID anzugeben. Um Ihre Formular-ID zu finden, lesen Sie bitte dieses Tutorial zur Unterstützung.

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