Résumé IA
Description
Le filtre wpforms_post_submissions_post_args est utilisé pour remplir tous les arguments de la soumission tels que le titre, le type de publication, etc. lors de l'utilisation du module complémentaire Post Submissions de WPForms.
Paramètres
- $post_args
- (array) (Requis) Arguments de la soumission de publication tels que l'ID de catégorie, l'ID de balise, l'ID d'auteur, etc.
- $form_data
- array Paramètres/données du formulaire.
- $fields
- array Valeurs/propriétés des champs d'entrée nettoyées.
Source
wpforms-post-submissions/class-post-submissions.php
Plus d'informations
wpforms_post_submissions_post_args se déclenche immédiatement lorsque la soumission est traitée pour définir le titre de la publication, la catégorie, etc. dans la publication.
Exemples
Dans l'exemple de code, vous verrez que nous vérifions d'abord l'ID du formulaire pour nous assurer qu'il correspond au formulaire ciblé. Ensuite, nous vérifions un champ spécifique (par l'ID du champ) pour voir s'il est vide.
N'oubliez pas de changer l'ID du formulaire de 1378 pour qu'il corresponde à votre ID de formulaire et de changer le '10' pour qu'il corresponde à votre ID de champ.
Si vous avez besoin d'aide pour trouver les ID de vos formulaires et champs, veuillez consulter ce tutoriel.
Nous allons voir si la liste déroulante correspond à FAQ et si c'est le cas, la changer du type de publication post à 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 );