Resumen de IA
Descripción
El filtro wpforms_post_submissions_post_args se utiliza para poblar todos los argumentos de la entrada, como el título, el tipo de entrada, etc., al usar el complemento Post Submissions de WPForms.
Parámetros
- $post_args
- (array) (Requerido) Argumentos de la entrada del formulario, como ID de categoría, ID de etiqueta, ID de autor, etc.
- $form_data
- array Configuración/datos del formulario.
- $fields
- array Valores/propiedades de los campos de entrada saneados.
Origen
wpforms-post-submissions/class-post-submissions.php
Más Información
El filtro wpforms_post_submissions_post_args se activa inmediatamente cuando se procesa la entrada para establecer el título de la entrada, la 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 que se está utilizando. Luego, comprobamos un campo específico (por el ID de los campos) para ver si está vacío.
Solo recuerde cambiar el ID del formulario de 1378 para que coincida con su ID de formulario y cambie el '10' para que coincida con su ID de campo.
Si necesita ayuda para encontrar los ID de sus formularios y campos, revise este tutorial.
Vamos a ver si el menú desplegable coincide con FAQ y, si es así, lo cambiaremos del tipo de entrada 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 );