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

Descrição

O filtro wpforms_post_submissions_process_meta é executado sobre o valor que é guardado para o campo personalizado (o que é passado para update_post_meta()).

Parâmetros

$field_value
(string) Valor do campo do formulário.
$meta_key
(string) Chave meta do campo personalizado.
$field_id
(int) ID do campo.
$fields
(array) Valores/propriedades dos campos de entrada higienizados.
$form_data
(array) Configurações/dados do formulário processados, preparados para serem usados posteriormente.

Origem

wpforms-post-submissions/class-post-submissions.php

Mais Informações

Este filtro pode ser usado para alterar o valor de um campo guardado do Addon Post Submissions.

Exemplos

Abaixo está um trecho de exemplo com este filtro que alterará a gravação do post_meta para usar o timestamp UNIX.

/**
 * Customize post_meta value during WPForms Post Submissions processing.
 *
 * @link   https://wpforms.com/developers/wpforms_post_submissions_process_meta/
 *
 * @param  string  $field_value  Field value from the form.
 * @param  string  $meta_key     Custom field meta key.
 * @param  int     $field_id     Field ID.
 * @param  array   $fields       Sanitized entry field values/properties.
 * @param  array   $form_data    Processed form settings/data, prepared to be used later.
 *
 * @return string
 */

function wpf_post_submission_process_meta( $field_value, $meta_key, $field_id, $fields, $form_data ) {

	// Only run on my form with ID = 443
        if ( absint( $form_data[ 'id' ] ) !== 443 ) {
                return;
        } 
	
	// If the field has a specific meta key and contains a unix time stamp,
	// use that for the post_meta value.
	if ( $meta_key === 'some_post_meta_key' && ! empty( $fields[ $field_id ][ 'unix' ] ) ) {
		$field_value = $fields[ $field_id ][ 'unix' ];
	}

	return $field_value;
}
add_filter( 'wpforms_post_submissions_process_meta', 'wpf_post_submission_process_meta', 10, 5 );

Lembre-se de substituir a chave meta no código acima para corresponder à chave meta que está a usar, bem como o ID do formulário 443. Se precisar de ajuda para encontrar o seu ID de formulário, reveja esta documentação útil.

Referência do Artigo: Como Armazenar Valores de Checkbox como Arrays Com Post Submissions