Descripción

En wpforms_post_submissions_post_args se utiliza para rellenar todos los argumentos del envío, como el título, el tipo de entrada, etc., cuando se utiliza el filtro Complemento Post Submissions de WPForms.

Parámetros

$post_args
(array) (Obligatorio) Argumentos del envío de la entrada, como ID de categoría, ID de etiqueta, ID de autor, etc.
$form_data
array Configuración/datos del formulario.
$campos
array Valores/propiedades del campo de entrada desinfectados.

Fuente

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

Más información

En wpforms_post_submissions_post_args se dispara inmediatamente cuando se procesa el envío para establecer el título de la entrada, categoría, etc dentro de la entrada.

Ejemplos

En el código de ejemplo, verá que primero comprobamos el ID del formulario para asegurarnos de que coincide con el formulario al que nos dirigimos. A continuación, comprobamos un campo específico (por el ID del campo) para ver si está vacío.

Sólo recuerde cambiar el ID de formulario de 1378 para que coincida con su ID de formulario y cambiar el '10 ' para que coincida con su ID de campo.

Si necesita ayuda para saber dónde encontrar los ID de formulario y de campo, consulte este tutorial.

Vamos a ver si el desplegable coincide con FAQ y si es así, cambiarlo de tipo de post a my_faq.

/**
 * Action that fires during form submission.
 *
 * @link   https://wpforms.com/developers/wpforms_post_submissions_post_args/
 *
 * @param  array  $post_args Sanitized entry field. values/properties.
 * @param  array  $form_data Form data and settings.
 * @param  array  $fields    Sanitized entry field values/properties.
 *
 * @return array
 */

function wpf_dev_post_submissions_post_args( $post_args, $form_data, $fields ) {

    // Only run this snippet on the form ID 1378
    if ( absint( $form_data[ 'id' ] ) !== 1378 ) {
        return $fields;
    }
	
    // If the field ID is 10 and the value of that field is equal to FAQ process the snippet
    if ( ! empty( $fields[ '10' ] ) && $fields[ '10' ][ 'value' ] === 'FAQ' ) {
        $post_args[ 'post_type' ] = 'my_faq';
    }

    return $post_args;
}
  
add_filter( 'wpforms_post_submissions_post_args', 'wpf_dev_post_submissions_post_args', 10, 3 );