stefanglase.de

WordPress - Theme mit eigenem Suchformular

Datum:
Kategorie: Softwareentwicklung
Kommentare: Kommentare

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.

Traveller von asifthebes

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:

$form = '<form role="search" method="get" id="searchform" action="' . get_option('home') . '/" >
  <div>
    <label class="screen-reader-text" for="s">' . __('Search for:') . '</label>
    <input type="text" value="' . esc_attr(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" />
  </div>
</form>';

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.

<?php
/*
 * Zeichenkette für den Standardtext definieren sowie den gegebenenfalls
 * eingegebenen Suchbegriff speichern. Alternativ den Standardtext
 * anzeigen, falls kein Suchbegriff eingegeben wurde.
 */
$querystring = esc_attr(apply_filters('the_search_query', get_search_query()));
$searchstring = "Suchbegriff eingeben...";
if (empty($querystring)) { $querystring = $searchstring; }
?>
<form role="search" method="get" id="searchform" action="<?php echo get_option('home'); ?>">
    <div>
        <label class="screen-reader-text" for="s"><?php echo __('Search for:'); ?></label>
        <input type="text" name="s" id="s" value="<?php echo $querystring; ?>"
            onblur="if (this.value == '') { this.value = '<?php echo $searchstring; ?>'; }"
            onfocus="if (this.value == '<?php echo $searchstring; ?>') { this.value = ''; }" />
        <input type="submit" id="searchsubmit" value="<?php echo esc_attr(__('Search')); ?>" />
    </div>
</form>

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.

Blog Bastelstunde

Datum:
Kategorie: Diverses
Kommentare: Kommentare

Der letzte Beitrag liegt schon einige Wochen zurück und es wurden sogar schon Stimmen laut, die nach neuen Beiträgen verlangten. So habe ich diesmal zu Pinsel und Farbe gegriffen und dem Blog einen neuen Anstrich verpasst.

DIY Painting Blue by icekitty37

Das Layout und Design wurde von mir einer Generalüberholung unterzogen und erstrahlt nun mit Ausnahme des noch nicht überarbeiteten Logos in völlig neuem Glanz. Geändert haben sich unter anderem:

  • Listendarstellung der Kommentare
  • Einblendung von Gravataren
  • Gestaltung des Suchformulars
  • Formular für neue Kommentare
  • Navigation zu neueren und älteren Beiträgen
  • Eingebettete Schriftart für Überschriften
  • Darstellung von Listen wie dieser
  • Anzeige der Fotogalerien
  • Einbindung eines Favicons

Positive wie auch kritische Rückmeldungen sind natürlich herzlich willkommen! Genauso freue ich mich auch über jegliche * Fehlermeldung, wenn sie nicht gerade die Darstellung im Internet Explorer 6 betrifft, denn diesen werde ich – wie viele andere Seiten auch – nicht mehr unterstützen.

Wer einen eigenen Blog betreibt und dieses Thema mag, kann das Woodworm Theme jeweils in der aktuellsten Variante direkt bei Github heruntergeladen und gemäß der Creative Commons Lizenz für eigene Zwecke nutzen.

In den kommenden Tagen steht bei der Umzug in meine neue Wohnung auf dem Programm. So wird auch dann nicht sonderlich viel Zeit übrig bleiben, um meinen Blog mit neuen Berichten von meinen Mountainbike-Touren zu füllen. Das wird sich aber hoffentlich schnell ändern, sobald die Schneemassen in Gummersbach weniger und die Sonne etwas wärmer geworden ist. Ich hoffe auf einen baldigen Frühling!

Navigon 2100 and the world is yours

Datum:
Kategorie: Mountainbiking
Kommentare: Kommentare

And the world is yours… das möchte uns zumindest die Werbung weismachen. In der Realität sieht es leider nicht ganz so rosig aus und schon die nächste Seitenstraße kann plötzlich hinter einem “Fatal Application Error” verschwinden.

Dieses Schicksal ereilte gestern mitten auf der Autobahn auch mein Navigon 2100 max, welches bis auf die im Internet hinlänglich bekannten Macken (langsames Auffinden der Satelliten, Vergessen der als Favoriten gespeicherten Ziele…) in der Regel das tat, was es tun sollte…. bis gestern.

Fatal Application Error

Seit diesem Moment gelingt es mir nicht mehr, das Navigon zum Navigieren zu überreden. Bei einem Wechsel vom Startbildschirm in die Navigation verabschiedet sich das Gerät mit einem kläglichen Laut und dieser Fehlermeldung:

Fatal Application Error Application navigon.exe has performed an illegal operation and will be shut down. If the problem persists, contact the program vendor.

Programm: navigon.exe
Exception: 0×80000002
Address: 4C405B0C

Auf der Webseite von Navigon finden sich einige Hinweise zur Behebung des Fehlers.

Da weder ein Update der Software, noch ein Zurücksetzen auf die Werkseinstellungen und auch der Hardware Reset keinen Erfolg brachten, blieb nur noch der Griff zum Telefon und das Einreihen in die Warteschlange der Telefonhotline. Auch hier konnte man mir mit diesem Problem nicht weiterhelfen und so kam ich um die Einsendung des Navigationsgerätes nicht herum.

Im Nachhinein habe ich erfahren, dass sich das Problem durch das Löschen der Datei RecentTargets.store im Ordner Favoriten und einen anschließenden Hardware Reset lösen lassen soll.

Nach knapp drei Wochen halte ich das reparierte Gerät nun wieder in den Händen. Zu allererst habe ich mit der Software Navigon Fresh eine Sicherungskopie der Speicherkarte erstellt und bin so hoffentlich auf den nächsten Totalausfall der Software ausreichend vorbereitet.