Atenção!

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

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

Ignorar

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

Introdução

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 defeito, as seleções de caixas de seleção são armazenadas numa linha separada

No entanto, com a abordagem que vamos delinear, pode garantir que estes valores são armazenados como um array coerente. Este tutorial irá guiá-lo através dos passos necessários para alcançar esta apresentação simplificada das seleções de caixas de seleção. Vamos avançar e otimizar a sua representação de dados!

Criação do formulário

Para iniciar o processo, vamos começar por criar um novo formulário e incorporar os campos essenciais. Certifique-se de que, entre estes campos, está incluído pelo menos um campo de Caixa de Seleção. Esta base servirá como alicerce para a implementação da funcionalidade desejada. Vamos avançar e configurar o seu formulário em conformidade.

comece por criar o seu formulário e adicionar os seus campos, incluindo pelo menos um campo de caixa de seleção

Se precisar de ajuda para criar o seu formulário, por favor, consulte este guia útil.

Adição do trecho de código

Agora é hora de adicionar o trecho de código que completará este processo para si. Se precisar de assistência sobre como e onde adicionar trechos de código ao seu site, por favor, reveja 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 irá obter qualquer valor de caixa de seleção de qualquer formulário WPForms e exibir as seleções numa única linha separada por vírgula, tanto para a entrada como para a notificação por e-mail.

Agora, quando um utilizador selecionar os itens da Caixa de Seleção, estes serão armazenados e enviados por e-mail numa ú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 as suas seleções separadas por vírgula. essencialmente armazenando os valores da caixa de seleção como um array

E é tudo o que precisa para armazenar valores de caixas de seleção como um array! Gostaria também de abrir e fechar um formulário com base na hora do dia? Dê uma vista de olhos ao nosso tutorial sobre Como Agendar um Formulário com Base na Hora do Dia.

Referência do Filtro: wpforms_html_field_value

FAQ

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

R: Se quiser esta funcionalidade apenas para o modelo de e-mail, primeiro certifique-se de que as suas Definições de E-mail do WPForms estão definidas para e-mail HTML. Para saber como conseguir isto, por favor, consulte esta documentação.

Depois de confirmar que estas definições estão definidas para Modelo HTML, utilize este trecho de código para ativar esta 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 );