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 Campos na Entrada WPForms

Gostaria de armazenar os valores dos campos para os campos Dropdown, Checkboxes e Multiple Choice dentro da entrada do WPForms? Neste tutorial, mostraremos como usar PHP para obter o valor do campo em vez do rótulo do campo e armazená-lo dentro da entrada.

Armazenar o valor dentro da entrada

Para este tutorial, vamos adicionar os trechos ao nosso site primeiro antes de criar o formulário. Fazemos isso simplesmente porque parte deste trecho é para ativar a opção nos campos para Mostrar Valores para os campos Dropdown, Checkboxes e Multiple Choice.

Para obter ajuda sobre como e onde adicionar trechos, consulte este tutorial.

Adicionámos dois trechos separados. O primeiro trecho segue este tutorial que nos permitirá adicionar valores de campo para os campos Dropdown, Checkboxes e Multiple Choice.

O segundo trecho pega o envio do formulário e, enquanto o processa, obterá o valor do campo em vez do rótulo do campo para armazenar na entrada.

Importante: Se estiver a usar lógica condicional em notificações que dependem do campo Dropdown, este trecho pode fazer com que essas regras deixem de funcionar.

Isto acontece porque as condições de notificação comparam o rótulo da escolha, enquanto este trecho armazena e usa o valor da escolha em vez disso. Como os rótulos e os valores são diferentes, eles não corresponderão e a condição não será acionada.

Criação do formulário

Agora é hora de criar o seu formulário e adicionar os seus campos, que incluirão pelo menos um Dropdown, Checkboxes ou Multiple Choice.

Se precisar de ajuda na criação de formulários, reveja a nossa documentação detalhada.

comece por criar o seu formulário e adicionar os seus campos

Para efeitos desta documentação, adicionámos um campo Dropdown para a preferência de contacto. Para adicionar os valores dos campos, basta selecionar o campo e clicar no separador Avançadas.

clique no botão para ativar a opção Mostrar Valores

Clique no botão para ativar o Mostrar Valores e, em seguida, clique de volta no separador Geral para adicionar os seus valores de campo.

adicione os valores que pretende no seu campo

Depois de guardar o formulário, pode agora ver que os valores dos campos são armazenados dentro da entrada do formulário em vez do rótulo do campo.

usando este snippet pode guardar os valores do campo na entrada

Gostaria também de enviar os valores dos campos através do addon Zapier? Dê uma vista de olhos ao nosso tutorial sobre Como Enviar Valores de Campo para o Excel Usando Zapier.

Filtro de Referência

wpforms_process_filter

FAQ

P: Como posso direcionar apenas um formulário?

R: Para direcionar apenas 1 formulário, use este trecho em vez disso. Terá de atualizar o 584 para corresponder ao seu próprio ID de formulário. Para encontrar o seu ID de formulário, reveja este tutorial para obter ajuda.

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