Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Como Armazenar Valores de Caixa de Seleção como um Array

Introdução

Você tem interesse em armazenar os valores das suas caixas de seleção como um array nas notificações de entrada e de 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 caixa de seleção são armazenadas em uma linha separada

No entanto, com a abordagem que vamos descrever, você pode garantir que esses valores sejam armazenados como um array coeso. Este tutorial irá guiá-lo através dos passos necessários para alcançar essa apresentação simplificada das seleções de caixa 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 de Caixa de seleção esteja incluído. Essa base servirá como alicerce para a implementação da funcionalidade desejada. Vamos em frente e configurar seu formulário de acordo.

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 seu formulário, por favor, dê uma olhada neste guia útil.

Adicionando o snippet

Agora é hora de adicionar o trecho de código que completará este processo para você. Se precisar de ajuda sobre como e onde adicionar trechos de código ao seu site, por favor, revise 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 );

Este trecho de código pegará qualquer valor de caixa de seleção de qualquer formulário WPForms e exibirá as seleções em uma única linha separada por vírgula para a entrada, bem como para 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 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, essencialmente armazenando os valores da caixa de seleção como um array

E é tudo o que você precisa para armazenar valores de caixa de seleção como um array! Gostaria também 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ê deseja essa funcionalidade apenas para o modelo de e-mail, primeiro certifique-se de que suas Configurações de E-mail do WPForms estejam definidas como e-mail HTML. Para saber como conseguir isso, por favor, confira esta documentação.

Depois de confirmar que essas configurações estão definidas como Modelo HTML, use este trecho de código para habilitar essa funcionalidade apenas 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 );