Wie speichert man Feldwerte im WPForms-Eintrag

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.

/**
 * Show values in Dropdown, checkboxes, and Multiple Choice.
 */
  
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 ) {

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

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.

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.

beginnen Sie mit der Erstellung Ihres Formulars und fügen Sie Ihre Felder hinzu

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.

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.

fügen Sie die gewünschten Werte in Ihr Feld ein

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

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

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

wpforms_process_filter

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