WordPress – mehr Suchergebnisse

In diesem Beitrag geht es um einen kleinen Mehrwert, den ich am Beispiel der Template-Datei search.php zeigen werde. Zunächst soll die Anzahl der Suchergebnisse, sowie das gesuchte Wort ausgegeben werden. Zusätzlich soll die Anzahl der Suchergebnisse auf 10 erhöht werden.

Die WordPress-Suche ist nicht gerade die effektivste Lösung, wenn es um das Suchen auf der eigenen Plattform geht. Um trotzdem eine kleine Verbesserung zu erzielen und keine Plugins zu nutzen, zeige ich ein paar Funktionen. Zunächst einmal soll in der Überschrift der Seite die Anzahl der Suchergebnisse und das Suchwort mit ausgegeben werden. Dazu findet man in der Loop die Überschrift der Seite. Man ersetzt mit folgendem:

<code>
<h2><?php echo $wp_query->found_posts; ?> Suchergebnisse für "<?php echo the_search_query(); ?>"</h2>
</code>

Der erste Teil fragt die Anzahl der Suchergebnisse ab und mit the_search_query() wird das gesuchte Wort ausgegeben.

Die Anzahl der auszugebenden Suchergebnisse wird grundlegend über das Backend bestimmt. Die Einstellung findet man über “Einstellungen → Ausgabe → Blogseiten zeigen maximal”. Jedoch bewirkt eine Änderung hier, dass jedes Mal beim Aufruf der Loop genau diese Anzahl an Posts dargestellt wird. Das Problem lässt sich auch wieder direkt in der search.php des Templates lösen mit der query_posts()-Funktion.

<code>
<?php query_posts($query_string . '&post_type=any&showposts=10'); ?>
</code>

Diese Zeile sollte vor Beginn der Loop stehen. Zur Erklärung der Parameter: Die Variable $query_string ist sehr wichtig, da sie dafür sorgt, dass die eigentliche Intention beibehalten wird. Dadurch wird also zunächst einmal der Suchvorgang nicht unterbrochen. Weiterhin wird sowohl in den Artikeln als auch in den Seiten gesucht und die Anzahl der herausgegebenen Suchergebnisse pro Seite auf 10 erhöht.

Bei mir findet die query_posts()-Funktion auch in der archive.php Anwendung, da ich hier auch mehr Posts ausgeben möchte, als grundlegend im Backend eingestellt. Der Einsatz dieser Funktion ist dabei ziemlich vielfältig, wenn es um die Loop geht. Daher lohnt sich ein Blick in die Funktionsreferenz.

3 Kommentare

  1. Martin

    DANKE Dir für den Tipp funktioniert auch mit 3.2.x bei mir.

Kommentieren