Volete memorizzare i valori dei campi dropdown, checkbox e a scelta multipla all'interno della voce di WPForms? In questo tutorial, vi mostreremo come usare PHP per prendere il valore del campo invece dell'etichetta del campo e memorizzarlo all'interno della voce.
Memorizzazione del valore all'interno della voce
Per questa esercitazione, aggiungeremo gli snippet al nostro sito prima di creare il modulo. Questo semplicemente perché parte di questo snippet serve ad abilitare l'opzione sui campi per mostrare i valori per i campi a discesa, a casella di controllo e a scelta multipla.
Per informazioni su come e dove aggiungere gli snippet, consultare questo tutorial.
/** * 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 );
Abbiamo aggiunto due snippet separati. Il primo snippet segue questo tutorial che ci consentirà di aggiungere valori di campo per i campi a discesa, a casella di controllo e a scelta multipla.
Il secondo snippet prende l'invio del modulo e durante l'elaborazione prende il valore del campo invece dell'etichetta del campo da memorizzare nella voce.
Creazione del modulo
Ora è il momento di creare il modulo e aggiungere i campi, che includeranno almeno una casella a discesa, una casella di controllo o una scelta multipla.
Se avete bisogno di aiuto per creare i moduli, consultate la nostra documentazione dettagliata.
Ai fini di questa documentazione, abbiamo aggiunto un campo a discesa per le preferenze dei contatti. Per aggiungere i valori del campo, è sufficiente selezionarlo e fare clic sulla scheda Avanzate.
Fare clic sul pulsante per attivare la funzione Mostra valori e quindi tornare alla scheda Generale per aggiungere i valori dei campi.
Una volta salvato il modulo, si può notare che i valori dei campi sono memorizzati all'interno della voce del modulo anziché nell'etichetta del campo.
Volete anche inviare i valori dei campi utilizzando l'addon Zapier? Date un'occhiata al nostro tutorial su Come inviare i valori dei campi a Excel utilizzando Zapier.
Filtro di riferimento
FAQ
D: Come posso mirare a un singolo modulo?
R: Per indirizzare solo un modulo, basta utilizzare questo snippet. È necessario aggiornare il 584 in modo che corrisponda all'ID del proprio modulo. Per trovare l'ID del proprio modulo, consultare questo tutorial.
/** * 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 );