¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Descripción

El filtro wpforms_post_submissions_process_meta se ejecuta sobre el valor que se guarda para el campo personalizado (lo que se pasa a update_post_meta()).

Parámetros

$field_value
(string) Valor del campo del formulario.
$meta_key
(string) Clave meta del campo personalizado.
$field_id
(int) ID del campo.
$fields
(array) Valores/propiedades de los campos de entrada saneados.
$form_data
(array) Configuración/datos del formulario procesados, preparados para ser utilizados más adelante.

Origen

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

Más Información

Este filtro se puede usar para cambiar el valor de un campo guardado desde el Complemento de envíos de publicaciones.

Ejemplos

A continuación, se muestra un fragmento de ejemplo con este filtro que cambiará el guardado de post_meta para usar la marca de tiempo 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 );

Recuerda reemplazar la clave meta en el código anterior para que coincida con la clave meta que estés utilizando, así como el ID del formulario 443. Si necesitas ayuda para encontrar el ID de tu formulario, revisa esta útil documentación.

Referencia del artículo: Cómo almacenar valores de casillas de verificación como matrices con envíos de publicaciones