Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

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