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