Comment personnaliser le champ déroulant moderne

Souhaitez-vous personnaliser le champ Modern Dropdown dans WPForms ? En utilisant ce champ, vous permettez à vos utilisateurs de taper dans une boîte de recherche et d'afficher les résultats en fonction des caractères saisis. Avec un petit extrait de PHP, vous pouvez contrôler le nombre de résultats qui s'affichent au fur et à mesure que les caractères sont saisis. Dans ce tutoriel, nous allons vous guider à travers chaque étape pour personnaliser le nombre de résultats qui s'affichent.

Création du formulaire

Tout d'abord, vous devez créer votre formulaire et ajouter vos champs avec au moins un champ de type Dropdown inclus dans le formulaire.

Créez votre formulaire et ajoutez-y un champ de type "Dropdown".

Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.

Une fois que vous avez ajouté votre champ déroulant, cliquez sur l'onglet Avancé et sélectionnez Moderne pour le style du champ déroulant.

Définissez le style de votre liste déroulante comme étant moderne

Personnaliser le menu déroulant moderne

Il est maintenant temps d'ajouter l'extrait de code pour personnaliser le champ Modern Dropdown.

Si vous avez besoin d'aide pour ajouter des snippets à votre site, consultez ce tutoriel.

/**
 * Customize modern dropdown search results
 *
 * @link https://wpforms.com/developers/how-to-customize-the-modern-dropdown-field/
 */

function wpf_dev_modern_dropdown_search_results( $config, $forms ) {
	
	// Change 519 to an ID of your actual form or remove this condition to apply to all forms.
	if ( ! array_key_exists( 519, $forms ) ) {
        return $config;
	}
	
	// Change 6 to a large number to show all the matching results for every search (might impact performance).
	$config[ 'searchResultLimit' ] = 6;
	
	return $config;
}
add_filter( 'wpforms_field_select_choicesjs_config', 'wpf_dev_modern_dropdown_search_results', 10, 2 );

N'oubliez pas de modifier le numéro 519 pour qu'il corresponde à votre propre numéro de formulaire.

Si vous ne savez pas comment trouver l'identifiant de votre formulaire, consultez ce tutoriel.

Une fois que vous avez ajouté le snippet et mis à jour l'ID du formulaire, la dernière étape consiste à définir le searchResultLimit en fonction du nombre de résultats que vous souhaitez afficher au fur et à mesure que les utilisateurs tapent dans le champ de recherche. Dans notre exemple, nous ne voulons afficher que les 6 premiers résultats.

Vous pouvez désormais personnaliser facilement les résultats de recherche modernes sous forme de liste déroulante.

Et c'est tout ce dont vous avez besoin ! Vous souhaitez également modifier le texte qui s'affiche lorsqu'aucun résultat n'est trouvé ? Jetez un coup d'œil à notre tutoriel sur Comment modifier le texte "Aucun résultat trouvé" dans le champ déroulant moderne.

Filtre de référence

wpforms_field_select_choicesjs_config

FAQ

Q : Puis-je limiter la liste déroulante à deux éléments seulement ?

R : Absolument ! Tout d'abord, vous devez modifier le champ Modern Dropdown et, dans l'onglet Advanced, activer l'option Multiple Options Selection (sélection d'options multiples).

basculer le commutateur pour activer la sélection d'options multiples

Une fois cette option activée, vous pouvez ajouter cet extrait à votre site.

/**
 * Customize modern dropdown search results
 *
 * @link https://wpforms.com/developers/how-to-customize-the-modern-dropdown-field/
 */

function wpf_dev_modern_dropdown_select_limit( $config, $forms ) {
     
    // Change 519 to an ID of your actual form or remove this condition to apply to all forms.
    if ( ! array_key_exists( 519, $forms ) ) {
        return $config;
    }
     
    // Change 2 to a large number to show all the matching results for every search (might impact performance).
    $config[ 'maxItemCount' ] = 2;

    // Modify the 'maxItemText' to make it translatable when limiting the selections.
    $config['maxItemText'] = sprintf( __( 'Only %1$s values can be added', 'wpforms' ), $config['maxItemCount'] );
     
    return $config;
}
add_filter( 'wpforms_field_select_choicesjs_config', 'wpf_dev_modern_dropdown_select_limit', 10, 2 );

avec ce snippet, vous pouvez limiter les choix sélectionnés dans le champ déroulant moderne

Q : Comment puis-je faire en sorte que ma recherche aboutisse davantage à une correspondance exacte ?

R : Vous pouvez modifier la valeur seuil pour être plus précis dans votre recherche. Il vous suffit d'ajouter cet extrait à votre site.

/**
 * Return more specific results
 *
 * @link https://wpforms.com/developers/how-to-customize-the-modern-dropdown-field/
 */

function wpf_dev_modern_dropdown_select_search( $config, $forms ) {
     
    // Providing more specific search results 
    // This will be added to all WPForms Modern Dropdown field for the search bar
    $config[ 'fuseOptions' ] = array(
		'threshold' =>  0.1
	);
      
    return $config;
}
add_filter( 'wpforms_field_select_choicesjs_config', 'wpf_dev_modern_dropdown_select_search', 10, 2 );