Support Home > Entwickler > Omnisearch

Omnisearch

Omnisearch macht die Suche jeglicher Inhalte ganz einfach, sowohl lokal auf deiner Seite als auch von ausgewählten Anbietern im Web!

Omnisearch nutzen

Die Benutzung von Omnisearch ist außerordentlich einfach. Suche einfach! Wenn du dich im WordPress Admin-Panel befindest, kannst du entweder die Suchleiste in der WordPress Adminleiste (rechts oben, gleich über deinem Benutzer-Menü) nutzen oder zu Jetpack  Omnisearch gehen und von dort aus beginnen. Beachte bitte, dass mittels dem Suchfeld in der WordPress Adminleiste lediglich das Back-End deiner Seite mit Omnisearch durchsucht wird, da sich im Front-End bereits ein Suchfeld befindet, mit welchem sich die Seite ganz normal durchsuchen lässt. Diese Möglichkeit möchten wir für dich weiterhin unverändert belassen.

Eine Ergebnis-Sektion hinzufügen

Eine neue Sektion mit Ergebnissen zu Omnisearch hinzuzufügen ist unglaublich einfach. Grundsätzlich ist alles was du tun musst Folgendes:

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

Einige Dinge am Rande:

  • Zweierlei Dinge werden an den Filter weitergereicht. Das erste ist der Array der Ergebnisse, dem du deine Ergebnisse hinzufügst. Das zweite ist der Suchstring. Denke daran Benutzereingaben zu maskieren!
  • Mithilfe des Array-Schlüssels, dem du den HTML-Code deiner Ergebnisse zuweist (in diesem Fall „My Results“), werden der „Jump To“-Link zu Beginn der Seite sowie die ID des Elements, welches deine Ergebnisse enthält, generiert. Wähle bitte einen eindeutigen Schlüssel!
  • Du kannst deinen HTML-Code nach Belieben bearbeiten. Wir haben zur Erstellung des Inhalts WP_List_Tables verwendet, da uns diese Darstellung gefällt. Wenn du möchtest, kannst du deine Ergebnisse aber auch gerne in einer Liste floatender Divs anzeigen.
  • Wenn du die gleiche maximale Anzahl an Ergebnissen wie für alles andere benutzen möchtest, so verwende apply_filters( 'omnisearch_num_results', 5 );
  • Wenn du die maximale Anzahl an Ergebnissen, die von jedem Modul bereitgestellt wird, überschreiben möchtest, dann hänge dich in den omnisearch_num_results Filter ein.
  • Wenn du eine Suchanfrage startest, die erwartungsgemäß eine Weile dauern könnte, wie zum Beispiel das Erfassen einer externen API, dann solltest du deine Ergebnisse mit AJAX laden. Wir haben die Globals  search_term und num_results im Javascript bereits für dich festgelegt. Du kannst dir ein Beispiel zum Laden von Ergebnissen mit Ajax in der Jetpack_Omnisearch_Plugins class  ansehen.
  • Kategorien