Omnisearch

Met Omnisearch wordt het eenvoudiger om iets te vinden, zowel lokaal op je website als bij geselecteerde providers op het web!

Omnisearch Gebruiken

Omnisearch gebruiken is opvallend eenvoudig. Gewoon zoeken! Als je in je WordPress Beheerderspaneel bent, kun je de zoekbalk gebruiken in de WordPress Beheerdersbalk (rechts boven, vlakbij je Gebruikersmenu), of ga naar Jetpack  Omnisearch en begin vanaf daar. Let erop dat het Zoekveld op de WordPress Beheerdersbalk alleen Omnisearch zal uitvoeren vanaf de back-end van je website, omdat het frond-end al een zoekveld heeft om een systeemeigen zoekopdracht uit te voeren, en we wilden dat niet voor je veranderen.

Een resultatensectie toevoegen

Een nieuwe sectie met resultaten toevoegen aan Omnisearch is ongelooflijk eenvoudig. Omdat het grotendeels basis is, is alles wat je hoeft te doen:

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;
}

Een paar belangrijke dingen:

  • Er gaan twee dingen door het filter. Het eerste is de serie resultaten die je aan je resultaten zult toevoegen. Het tweede is de zoekopdracht string. Vergeet niet om je gebruikersinvoer te escapen!
  • De seriecode die je toewijst aan je resultaten HTML (in dit geval, 'Mijn Resultaten') zal gebruikt worden om de ‘Ga Naar’ link aan de bovenkant van de pagina te generaten, en de ID van het elemenent dat je resultaten bevat. Kies iets unieks!
  • Je kunt met je HTML doen wat je maar wilt. Wij hebben gebruik gemaakt van WP_List_Tables om onze content te genereren, omdat we vinden dat het er leuk uitziet, maar als je je resultaten liever presenteert in een lijst zwevende divs, kan dat ook.
  • Als je hetzelfde maximale aantal resultaten wilt gebruiken als al het andere, gebruik dan apply_filters( 'omnisearch_num_results', 5 ).
  • Als je het maximale aantal resultaten wilt overschrijven dat elke module biedt, gebruik dan gewoon het omnisearch_num_results filter.
  • Als je een zoekopdracht uitvoert waarvan je denkt dat hij een tijdje kan duren, zoals een externe API, kun je misschien het beste je resultaten laden via AJAX. We hebben al de search_term en num_results globals in Javascript voor je ingesteld, en je kunt een voorbeeld zien van ladende resultaten via AJAX in in de Jetpack_Omnisearch_Plugins klasse hier.
  • Categorieën