WordPress: Suchergebnisse highlighten ohne Plugin

Standardmäßig hebt die Suchfunktion von WordPress leider keine Suchergebnisse oder die Keywörter in den Suchergebnisse hervor. Die Besucher einer Webseite werden jedoch sehr glücklich sein, wenn sie durch ein Highlighting hervorgehobene Suchergebnisse bekommen.

Die Usability steigt enorm und ein suchender Besucher kann sofort erfassen, ob die durch die Suchfunktion gezeigten Ergebnisse wirklich das enthalten, wonach er gesucht hat. Siehe Grafik:

Die hervorgehobenen Suchergebnisse.

Anhand der Grafik kann man sehr schnell erfassen, dass hier nicht nur die Überschriften hervorgehoben werden, sondern auch noch die Keywörter im Excerpt.

HowTo: Suchergebnisse hervorheben

Wir nehmen uns nun mal die search.php unseres WordPress Themes vor und fügen diesen Code direkt unter dem beginnenden Loop-Tag ein:

<?php while (have_posts()) : the_post(); $count++; // The loop starts here...
 ?>
<?php
 $title = get_the_title();
 $auszug = get_the_excerpt();
 $suchwort = get_search_query();
 $wert = explode(" ",$suchwort);
 $title = preg_replace('/('.implode('|', $wert) .')/iu','<span class="highlight">�</span>',$titel);
 $auszug = preg_replace('/('.implode('|', $wert) .')/iu','<span class="highlight">�</span>', $auszug);
 ?>

Jetzt tauschen wir die beiden WordPress Tags

<?php the_title(); ?> <?php the_excerpt(); ?>

aus gegen folgende Tags:

<?php echo $title; ?><?php echo $auszug; ?>

Das ist bereits alles an Code, nun muss nur noch ein bisschen CSS ins Spiel kommen

span.highlight {
background-color: #FFFF00
}

So, nun haben wir unsere Besucher wieder etwas glücklicher gemacht :-)

Quelle: WordPress: gesuchte Begriffe hervorheben

5 Kommentare zu “WordPress: Suchergebnisse highlighten ohne Plugin”

  1. Stephan sagt:

    Hallo Andreas,

    schöner Tipp und danke für den Code-Snippet (bin immer ein Fan von kleinen Code-Snippets zur Vermeidung für alles immer gleich ein Plugin einzusetzen) – werde ich bei mir im Blog demnächst wohl auch einfügen.

    Hast du eventuell schon Erfahrungen sammeln können, inwieweit sich die Hervorhebung der Suchbegriffe auf die CTR auswirkt (finde ich in diesem Zusammenhang neben der Usability nämlich auch interessant)?

    Gruß Stephan

    • Hi Stephan,

      nein, zu der Auswertung bin ich noch nicht gekommen, in der wenigen Freizeit, die ich habe, pflege ich zu schlafen:-)

      Aber recht hast Du, ich sehe es mir demnächst an.

  2. Samuel sagt:

    Sehr schöner Code, den werde ich mal in einem meiner Blogs testen. Ich finde es für das Auge auch immer sehr schön, wenn das gesuchte hervorgehoben wird. Vielen Dank!

  3. Lucy sagt:

    Hallo Andreas,

    ganz prima Codeschnipsel!
    Vielen Dank!!!
    Ich denke auch, dass man nicht alles mit Plugins lösen muss, wenn es mit Schnipsel auch geht!

    Mir ist jedoch ein Tippfehler aufgefallen, der die Datei zerschießt:
    $titel = get_the_title();
    –>
    $title = get_the_title();

    Damit wäre alles wieder behoben :)

    LG Lucy

    • Andreas Hecht sagt:

      Sorry Lucy,

      Antispam Bee hat Deinen Kommentar leider im Spamordner verschwinden lassen :-(

      Danke für den Hinweis, ist jetzt behoben.