Description

Le wpforms_post_submissions_post_args est utilisé pour remplir tous les arguments de la soumission tels que le titre, le type de message, etc. lors de l'utilisation du filtre Addon "Post Submissions" (soumissions de messages) de WPForms.

Paramètres

$post_args
(array) (obligatoire) Arguments provenant de la soumission de l'article, tels que l'ID de la catégorie, l'ID de l'étiquette, l'ID de l'auteur, etc.
$form_data
tableau Paramètres/données du formulaire.
$fields
tableau Valeurs/propriétés des champs d'entrée assainis.

Source

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

Plus d'informations

Le wpforms_post_submissions_post_args se déclenche immédiatement après le traitement de la soumission pour définir le titre de l'article, la catégorie, etc. dans l'article.

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 remplacer l'ID du formulaire 1378 par l'ID de votre formulaire et de remplacer le '10' par l'ID de votre champ.

Si vous avez besoin d'aide pour trouver les identifiants des formulaires et des champs, veuillez consulter ce tutoriel.

Nous allons voir si le menu déroulant correspond à FAQ et si c'est le cas, nous allons le changer du type de message 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 );