Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous offrons ce code par courtoisie, mais nous ne fournissons pas de support pour les personnalisations de code ou le développement de tierces parties.

Pour plus d'informations, consultez le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Rejeter

Description

Le wpforms_dynamic_choice_post_type_args est utilisé pour remplir le filtre Choix dynamiques pour les types de messages et les taxonomies.

Paramètres

$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.
champ
(tableau) Valeurs/propriétés des champs d'entrée assainis.
$form_id
(int) ID du formulaire.

Source

wpforms/includes/functions/form-fields.php

Plus d'informations

Le wpforms_dynamic_choice_post_type_args fournit une liste des arguments pris en charge dans le message, tels que la catégorie. De même, vous pouvez utiliser le filtre wpforms_dynamic_choice_taxonomy_args pour tirer des arguments de la taxonomie des Tags.

Dans l'exemple ci-dessous, la fonction traitera le formulaire ID 789 pour le champ ID 10 et n'inclure que les articles de la catégorie 11.

Exemples

/**
 * Limit posts or pages displayed by category.
 *
 * @link https://wpforms.com/developers/wpforms_dynamic_choice_post_type_args
 *
 * @param array $args       Arguments from post submission.     
 * @param array $field      Sanitized field data. 
 * @param int   $form_id    Form ID
 *
 * @return $args
 */

function wpf_dev_dynamic_choices_categories( $args, $field, $form_id ) {
    
     // Only on form #789 and field #10
     if ( $form_data[ 'id' ] == 789 && $field[ 'id' ] == 10 ) {

         $args[ 'category' ] = '11';		 
    
     }
	
     return $args;
}

add_filter( 'wpforms_dynamic_choice_post_type_args', 'wpf_dev_dynamic_choices_categories', 10, 3 );

Articles de référence

Comment exclure des articles, des pages ou des catégories des choix dynamiques ?

FAQ

Q : Comment afficher uniquement les catégories d'enfants ?

R : Pour afficher les catégories enfants dans votre formulaire, vous devez inclure à la fois l'identifiant de la catégorie parent et celui de la catégorie enfant. En effet, la fonctionnalité actuelle exige que la catégorie parent soit spécifiée pour que les catégories enfants soient correctement recherchées et affichées.

/**
 * Limit posts or pages displayed by category.
 *
 * @link https://wpforms.com/developers/wpforms_dynamic_choice_post_type_args
 *
 * @param array $args   Arguments for post submission.     
 * @param array $field  Sanitized field data. 
 * @param int   $form_id Form ID
 *
 * @return array Updated arguments
 */

function wpf_dev_dynamic_choices_include( $args, $field, $form_id ) {
    // Ensure form ID is correctly handled
    if ( is_array( $form_id ) ) {
        $form_id = $form_id[ 'id' ];
    }

    // Apply only to specific form and field IDs
    if ( $form_id == 122 && $field[ 'id' ] == 11 ) {
        // Include category IDs - 87 is the parent; 88 and 89 are child categories
        $args['include'] = '87,88,89';
    }

    return $args;
}
add_filter( 'wpforms_dynamic_choice_taxonomy_args', 'wpf_dev_dynamic_choices_include', 10, 3 );

Cet extrait garantit que la catégorie mère (ID 87) et ses catégories enfants (ID 88 et 89) sont incluses dans les choix dynamiques.