Résumé de l'IA
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.