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_dynamic_choice_post_type_args est utilisé pour peupler les Choix dynamiques pour les types de publication et les taxonomies.

Paramètres

$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.
$field
(array) Valeurs/propriétés du champ de saisie nettoyées.
$id_formulaire
(int) ID du formulaire.

Source

wpforms/includes/functions/form-fields.php

Plus d'informations

Le filtre wpforms_dynamic_choice_post_type_args fournit une liste d'arguments pris en charge à partir du type de publication, tels que la Catégorie. De même, vous pouvez également utiliser wpforms_dynamic_choice_taxonomy_args pour extraire des arguments de la taxonomie des Étiquettes.

Dans cet exemple montré ci-dessous, la fonction sera traitée sur l'ID de formulaire 789 pour l'ID de champ 10 et n'inclura que les publications 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 puis-je afficher uniquement les catégories enfants ?

R: Pour afficher les catégories enfants dans votre formulaire, vous devez inclure à la fois l'ID de la catégorie parente et les ID des catégories enfants. En effet, la fonctionnalité actuelle exige que la catégorie parente soit spécifiée pour récupérer et afficher correctement ses catégories enfants.

/**
 * 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 parente (ID 87) et ses catégories enfants (IDs 88 et 89) sont incluses dans les choix dynamiques.