Como armazenar valores de caixas de seleção como uma matriz

Introdução

Você tem interesse em armazenar os valores da caixa de seleção como uma matriz dentro da entrada e das notificações por e-mail? Normalmente, os campos de caixa de seleção exibem os itens selecionados individualmente em linhas separadas dentro da entrada e das notificações.

Por padrão, as seleções de caixas de seleção são armazenadas em uma linha separada

Entretanto, com a abordagem que estamos prestes a descrever, você pode garantir que esses valores sejam armazenados como uma matriz coerente. Este tutorial o guiará pelas etapas necessárias para obter essa apresentação simplificada das seleções de caixas de seleção. Vamos prosseguir e otimizar sua representação de dados!

Criando o formulário

Para iniciar o processo, vamos começar criando um novo formulário e incorporando os campos essenciais. Certifique-se de que, entre esses campos, pelo menos um campo Checkbox esteja incluído. Esse fundamento servirá de base para a implementação da funcionalidade desejada. Vamos seguir em frente e configurar seu formulário adequadamente.

Comece criando seu formulário e adicionando seus campos, incluindo pelo menos um campo de caixa de seleção

Se precisar de ajuda para criar o formulário, dê uma olhada neste guia útil.

Adicionando o snippet

Agora é hora de adicionar o snippet que concluirá esse processo para você. Se precisar de ajuda para saber como e onde adicionar snippets ao seu site, consulte este 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 );

Esse snippet pegará qualquer valor de caixa de seleção de qualquer formulário do WPForms e exibirá as seleções como uma única linha separada por uma vírgula para a entrada, bem como a notificação por e-mail.

Agora, quando um usuário selecionar os itens da caixa de seleção, eles serão armazenados e enviados por e-mail em uma única linha para cada caixa de seleção, que será separada por uma vírgula para cada seleção.

Agora, cada caixa de seleção será armazenada e enviada por e-mail na notificação com uma única linha para cada caixa de seleção e suas seleções separadas por vírgula.

E isso é tudo o que você precisa para armazenar os valores da caixa de seleção como uma matriz! Você também gostaria de abrir e fechar um formulário com base na hora do dia? Dê uma olhada em nosso tutorial sobre Como agendar um formulário com base na hora do dia.

Referência de filtro: wpforms_html_field_value

PERGUNTAS FREQUENTES

P: Como posso fazer isso apenas para as notificações por e-mail?

R: Se você quiser essa funcionalidade somente para o modelo de e-mail, primeiro verifique se as configurações de e-mail do WPForms estão definidas como e-mail em HTML. Para saber como fazer isso, consulte esta documentação.

Depois de confirmar que essas configurações estão definidas como Modelo HTML, use este snippet para ativar essa funcionalidade somente para notificações por e-mail.

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