Si vous usez et abusez d’ACF, vous n’utilisez probablement pas ou peu le champ the_content. Ce champ est en fait celui qui contient les informations saisies dans le WYSIWYG et donc le contenu principal d’un post. Le problème est que la recherche de WordPress utilise le titre et le contenu (the_content) pour effectuer des recherches dans vos publications. L’autre problème bien plus évident, c’est tout simplement que vos champs gérénés avec ACF ne seront dans tous les cas pas « indexés » lors des recherches.

Heureusement pour nous il existe plusieurs solutions avec ou sans plugin pour appréhender la chose.

La solution sans plugin

La solution sans plugin qui consiste à rechercher dans tous les champs ACF.

Les solutions avec plugin

Relevanssi

Grâce à Relevanssi, vous pourrez déclarer les champs ACF à indexer. En plus de permettre de rechercher dans les champs ACF, il permet d’améliorer considérablement la recherche native avec notamment la pondération des champs, taxonomies, etc.

Vous pouvez ajouter les champs à indexer dans la page d’option du plugin ou via la fonction suivante (source).

 
function relevanssi_add_custom_fields( $fields )
{
	$fields = array(); // I like to start fresh
	$fields[] = 'text_field';
	$fields[] = 'people_0_firstname'; // meta key for 'firstname' field inside 'people' repeater.

	$fields = implode( ',', $fields );

	return $fields;
}
add_filter( 'option_relevanssi_index_fields', 'relevanssi_add_custom_fields' );

Notez que Relevanssi est un plugin freemium (gratuit, avec des options payantes), mais la version disponible sur WordPress.org est suffisante pour ce qui nous intéresse ici.

SearchWP

Autre solution, totalement payante cette fois ci, utiliser le très puissant SearchWP qui permet énormément de choses, et notamment de créer plusieurs moteurs de recherches avec des critères de recherches différents, ou encore l‘indexation des documents PDF ou Word. Voici comment utiliser ACF avec SearchWP.

ACF: Better Search

ACF: Better Search est la solution la plus simple et souvent amplement suffisante. Ce plugin, développé par Mateusz Gbiorczyk, a souffert de soucis de rapidité sur les « gros sites » (plutôt ceux avec beaucoup de champs), mais il a été revu pour réduire le temps des recherches et offre maintenant de bonne performances.

Contrairement aux deux solutions présentées ci-dessus, il index l’intégralité des champs ACF et non uniquement ceux que vous avez spécifiés. De fait, c’est plus simple à configurer, mais moins performant dans certains cas. Notez cependant que vous pouvez spécifier dans l’administration du plugin les types de champs à indexer ou non.

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse e-mail ne sera pas publiée.