L’Omnisearch

L’omnisearch rend la recherche plus facile que ce soit localement dans votre site ou bien à partir de fournisseurs sur le web!

L’utilisation d’Omnisearch

L’utilisation d’Omnisearch est remarquablement facile. Vous n’avez qu’à chercher! Si vous êtes dans votre panel d’administration de WordPress, vous pouvez utiliser la barre de recherche dans la barre d’administrateur WordPress (en haut à droite, juste au dessus du menu d’utilisateur), ou bien allez à Jetpack → Omnisearch et commencez à partir de là. Veuillez noter que le champ de recherche dans la barre d’administrateur WordPress va rechercher uniquement à partir du back-end de votre site, puisque le front-end a déjà un champ de recherche pour lancer une recherche native sur site, et nous n’avons pas voulu changer cela pour vous.

L’ajout d’une section de résultats

L’ajout d’une nouvelle section de résultats à Omnisearch est incroyablement facile. Tout ce que vous avez à faire est de:

add_filter( 'omnisearch_results', 'my_omnisearch_results', 10, 2 );
function my_omnisearch_results( $results, $search_term ) {
	$html = '<h2>My Omnisearch Results</h2>';
	$html .= '<p>You just searched for <em>' . esc_html( $search_term ) . '</em>!</p>';

	$results['My Results'] = $html;
	return $results;
}

Quelques choses à noter:

  • Deux choses seront passées au filtre. la première est le tableau de résultats auquel vous allez ajouter vos résultats. Le deuxième est la chaîne de caractères de recherche.
    Rappelez-vous de … les entrées utlisateur!
  • La clé de tableau à laquelle vous allez affecter vos résultats HTML (dans ce cas, 'My Results') sera utilisée pour générer le lien ‘Aller à’ en haut de la page, et l’ID de l’élément contenant vos résultats. Veuillez choisir quelque chose d’unique!
  • Vous pouvez être aussi libre avec votre HTML que vous le voulez. Nous avons utilisé des WP_List_Table pour générer notre contenu parce que nous aimons ce look, mais si vous voulez présenter vos résultats dans une liste de div flottants, soyez libre.
  • Si vous voulez utiliser le même nombre maximum de résultats que tout le reste, utilisez apply_filters( 'omnisearch_num_results', 5 ); pour le récupérer.
  • Si vous voulez remplacer le nombre maximum de résultats que chaque module fournit, vous n’avez qu’à consulter le filtre omnisearch_num_results.
  • Si vous utilisez une recherche qui risque de prendre du temps, comme l’utilisation d’une API externe, vous devrez charger vos résultats via AJAX. Nous avons déjà prédéfini les globales search_term et num_results dans Javascript pour vous, et vous pouvez voir un exemple de chargement de résultats via AJAX dans dans le Jetpack_Omnisearch_Plugins classe ici.
  • Catégories