Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Come archiviare i valori delle caselle di controllo come array

Introduzione

Sei interessato a memorizzare i valori delle tue caselle di controllo come un array all'interno della voce e delle notifiche email? Ordinariamente, i campi Casella di controllo visualizzano gli elementi selezionati individualmente su righe separate all'interno della voce e delle notifiche.

per impostazione predefinita, le selezioni delle caselle di controllo vengono memorizzate su una riga separata

Tuttavia, con l'approccio che stiamo per delineare, puoi assicurarti che questi valori vengano memorizzati come un array coerente. Questo tutorial ti guiderà attraverso i passaggi necessari per ottenere questa presentazione semplificata delle selezioni delle caselle di controllo. Procediamo e ottimizziamo la tua rappresentazione dei dati!

Creazione del modulo

Per avviare il processo, iniziamo creando un nuovo modulo e incorporando i campi essenziali. Assicurati che tra questi campi sia inclusa almeno una casella di controllo Checkbox. Questa base servirà come fondamento per implementare la funzionalità desiderata. Andiamo avanti e impostiamo il tuo modulo di conseguenza.

inizia creando il tuo modulo e aggiungendo i tuoi campi, incluso almeno un campo casella di controllo

Se hai bisogno di aiuto per creare il tuo modulo, dai un'occhiata a questa utile guida.

Aggiunta dello snippet

Ora è il momento di aggiungere lo snippet che completerà questo processo per te. Se hai bisogno di assistenza su come e dove aggiungere snippet al tuo sito, ti preghiamo di consultare questo tutorial.

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

Questo snippet prenderà qualsiasi valore di casella di controllo da qualsiasi modulo WPForms e visualizzerà le selezioni su una singola riga separata da una virgola sia per la voce che per la notifica email.

Ora, quando un utente seleziona gli elementi della Casella di controllo, questi verranno memorizzati e inviati via email su una singola riga per ogni casella di controllo, separati da una virgola per ogni selezione.

ora ogni casella di controllo verrà memorizzata e inviata via email nella notifica con una singola riga per ogni casella di controllo e le relative selezioni separate da una virgola, memorizzando essenzialmente i valori della casella di controllo come un array

E questo è tutto ciò che ti serve per memorizzare i valori delle caselle di controllo come un array! Vorresti anche aprire e chiudere un modulo in base all'ora del giorno? Dai un'occhiata al nostro tutorial su Come programmare un modulo in base all'ora del giorno.

Riferimento filtro: wpforms_html_field_value

FAQ

D: Come posso fare questo solo per le notifiche email?

R: Se desideri questa funzionalità solo per il modello email, assicurati prima che le tue Impostazioni Email di WPForms siano impostate su email HTML. Per sapere come ottenerlo, consulta questa documentazione.

Una volta che hai confermato che queste impostazioni sono impostate su Modello HTML, usa questo snippet per abilitare questa funzionalità solo per le notifiche email.

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