WordPress kommt bereits von Haus aus mit einer integrierten Suchfunktion, die beispielsweise über Widgets in das verwendete WordPress Theme eingebunden werden kann. Das Suchformular in WordPress wird über den Befehl get_search_form();
eingebunden.
Zuerst versucht dieser Befehl eine Datei mit dem Namen searchform.php
im aktuell verwendeten Theme zu finden. Findet WordPress diese Datei nicht, so wird alternativ auf die Datei general-templates.php
im Ordner wp-includes zurückgegriffen und das Standard-Suchformular erzeugt.
Standard-Suchformular als Vorlage verwenden
Um ein eigenes Suchformular zu erstellen, orientieren wir uns am besten am Aufbau des Standard-Suchformulars, welches fest in WordPress integriert ist und in der Datei general-templates.php gefunden werden kann. Dieses schaut wie folgt aus:
Suchformular an eigene Bedürfnisse anpassen
In der neu erstellten Datei searchform.php
prüfen wir nun zuerst, ob eine Suche ausgeführt und ein Suchbegriff eingegeben wurde, damit wir beim Aufbau der Ergebnisseite den eingegebenen Suchbegriff erneut anzeigen können. Wurde kein Suchebegriff eingegeben, so wollen wir wieder den Standardtext “Suchbegriff eingeben…” ausgeben.
Mit Hilfe des JavaScript-Events onblur
schreiben wir, sofern das Suchfeld ohne Eingabe verlassen wird, den Originaltext zurück. Umgekehrt löschen wir mit Hilfe des JavaScript-Events onfocus beim Fokussieren des Eingabefeldes den Text, sofern es sich um den voreingestellten Originaltext handelt und machen so die Eingabe für neue Suchbegriffe frei.
Das dargestellte Script speichern wir im Verzeichnis unseres Themes und schon ist unser eigenes Suchformular bereit für den Einsatz!
Die Funktionsweise dieses angepassten Suchformulars kann in meinem Blog ausprobiert werden. Ich habe zusätzlich mittels der CSS-Eigenschaft display:none;
die Klasse screen-reader-text
unsichtbar gemacht anstatt das Label aus dem Code zu nehmen. So bleibt die Möglichkeit auf einfache Weise das Aussehen zu ändern und später wieder von dem Label Gebrauch zu machen.