WordPress Suchfunktion

Heute bin ich über einen Fehler in der Suchfunktion einer meiner Blogs gestolpert. Die gesuchten Begriffe wurden nicht gefunden, stattdessen wurde ein 404 Fehler ausgegeben. Nach einem Vergleich mit einem anderen Theme fand ich den Fehler.

In meinem Theme wird wie in vielen anderen Themes die searchform.php in der Sidebar geladen. So weit noch kein Problem, aber in dieser searchform.php stand folgender Code:

<form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>">

Da die Suchfunktion auf beinahe allen Seiten angezeigt wird, kommt es zu dem Problem, dass auf Unterseiten wie zum Beispiel einer Beitragsseite wie www.meinblog.de/archiv/beitrag.html eben unter dieser URL die Suche ausgeführt wird und natürlich nichts findet – auf der Startseite funktioniert die Suche.

Ich möchte aber den ganzen Blog durchsuchen. Dazu ändert ihr den oben genannten Code in folgenden um:

<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">

Alternativ kann man auch action="<?php bloginfo('home'); ?>/" verwenden, da beide die Blogadresse (URL) ausgeben. Obwohl der Parameter ‚home‘ für den Template-Tag bloginfo (mehr siehe WordPress Codex/Template_Tags/bloginfo) nicht aufgeführt ist, funktioniert es bei mir einwandfrei.

Jetzt wird eine Suche im gesamten Blog vorgenommen. Und lästige Fehler bleiben euch und euren Lesern erspart.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.