Zufälligen Suchbegriff in WordPress-Suche anzeigen

Im Header dieses Blogs gibt es seit gestern ein Suchfeld, das bei jedem Seitenaufruf einen anden Suchbegriff enthält. Entstanden ist das aus Langeweile 😉

Wer sich dafür intessiert, wie ich dieses wirklich sehr einfache Skript aufgebaut habe, darf jetzt weiterlesen!

Das Skript

Als erstes braucht man ein Formular, das den Suchbegriff an ein PHP-Skript (dieses Skript ist nicht Teil dieser Anleitung, da es fest in WordPress enthalten ist) schickt.

Hier das Formular:

<form method="get" id="searchform" action="<?php bloginfo('url'); ?>">
 <label for="s">Suche </label>
 <input type="text" value="<?php echo $begriff; ?>" name="s" id="s" onfocus="if (this.value == '<?php echo $begriff; ?>') {this.value = '';}" onblur="if (this.value == '') {this.value = '<?php echo $begriff; ?>';}" />
 <a href="javascript:document.getElementById('searchform').submit();" style="color:#FFFFFF">Los</a>
</form>

Ich habe hier die Standartelemente, die jedes WordPress-Suche-Formular enthält, ein wenig abgewandelt. Statt value=“Search…“ steht bei mir eine Variable als Wert. Denn diesen Wert wollen wir ja bei jedem Seitenaufruf neu ermitteln und belegen.

Die Events onfocus und onblur  sorgen dafür, dass der Wert im Textfeld bei einem Mausklick ausgeblendet wird und wieder eingeblendet wird, wenn man irgendwo außerhalb des Textfelds hinklickt.

Wie man sieht, gibt es hier noch ein Element zum Absenden des Formulars. Dieses Element ist aber kein Submit-Button, wie man wahrscheinlich vermutet hätte, sondern ein ganz normaler Link, der Javascript ausführt:

javascript:document.getElementById('searchform').submit();"

Dieser kleine Javscirpt-Schnipsel führt die Submit()-Methode des Formulars aus und sorgt somit dafür, dass das Formular abgesendet wird.

Generierung der Begriffe

Jetzt aber zur eigentlichen Generierung der zufälligen Suchbegriffe!

$arr = array("PHP", "MySQL", "MVC",
"OOP", "HTML", "Testbericht",
"EVA", "Fehlermeldung", "Headers",
"Framework", "1und1", "Fehler", "Problem",
"Forum", "C", "ICQ", "Blog", "Werbung",
"Einnahmen");

$begriff = $arr[rand(0, count($arr))];

In meinem Skript werden die Begriffe fest in einem Array definiert, da ich nur diese Suchbegriffe anzeigen lassen möchte. Natürlich könnte man auch einfach eine Datenbank zur Hilfe nehmen und das Array mithilfe eines Select-Befehls füllen.

In der letzten Zeile wird ein zufälliger Begriff aus dem Array in die Variable $begriff geschrieben. Dies geschieht mithilfe der rand()-Funktion, die 2 Parameter erwartet: Startwert und Endwert für die Zufallszahl. Da der Index unseres Arrays bei 0 beginnt, ist der Startwert 0. Der Endwert ist dann die Anzahl der Begriffe im Array.

Bei Fragen hilft euch die Kommentarfunktion weiter 🙂

1 Star2 Stars3 Stars4 Stars5 Stars (Wurde noch nicht bewertet)
Loading...


3 Kommentare zu “Zufälligen Suchbegriff in WordPress-Suche anzeigen”

  1. $begriff = $arr[rand(0, count($arr)-1)];

    sonst ist das Suchfeld ab und zu mal leer!

  2. Ja, Recht hast du. Danke!

  3. Kein Problem, ich habe zu Danken.

Hinterlasse einen Kommentar!

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

»Informationen zum Artikel

Autor: Simon
Datum: 01.10.2009
Zeit: 16:01 Uhr
Kategorien: Wordpress
Gelesen: 5785x heute: 2x

Kommentare: RSS 2.0.
Diesen Artikel kommentieren oder einen Trackback senden.

»Meta