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