XoviLichter Shortcode im WordPress-Widget – so gehts

Vorvorgestern habe ich das XoviLichter-Ranking-Plugin für WordPress vorgestellt. Mit dem vom Plugin implementierten sogenannten Shortcode kann man die Top-Liste und weitere Informationen an beliebigen Stellen in Artikeln oder Seiten einbinden.

Man kann den Shortcode aber auch prima in einem einfachen Text-Widget verwenden, um z.B. ein XoviLichter-Top-20 in der Sidebar oder im Fußbereich der Seite anzuzeigen. Ein Beispiel habe ich mal auf meiner Bla-Fasel-Testseite im Footer in der Mitte eingefügt. Die Sache ist auch ganz einfach.

Xovilichter-Shortcode im Widget

Man zieht ein Text-Widget in den gewünschten Seitenbereich und befüllt Titel und Inhalt mit den entsprechenden Daten. Ins Textfeld kommt natürlich der Shortcode, eingerahmt z.B. von einer Ordered List (OL) und mit ein paar Parametern versehen:

<ol>[agn_top100 max='20' cut='27' lit='lst' typ='txt']</ol>

Der Paramater max legt die maximale Anzahl der auszugebenden Listeneinträge fest, hier also 20.

Durch cut=‘27‚ werden die Einträge nach 27 Zeichen mit … verkürzt. Das ist ein brauchbarer Wert für ein Footer-Widget im Theme „Twenty Eleven“. In der Sidebar muß der Wert kleiner sein (z.B. 19), weil die Widgets dort schmaler sind.

Mit dem Wert ‚lst‚ für lit (Listentyp) erfolgt die Ausgabe nicht als Tabelle, sondern als HTML-Liste.

Mit dem typ txt werden nur normale Suchtreffer (Text) ausgegeben, also keine Bildern, News oder Videos, die beim XoviLichter-Wettbewerb eh nicht gewertet werden.

Dem ol-Tag kann man noch eine Klasse mitgeben und so die Ausgabe einfach per CSS anpassen. Für die Darstellung der Symbole unter Windows sollte die passende Font-Familie angegeben werden. Ansonsten werden je nach Browser nur Kästchen angezeigt.

ol.top-20 .sym { font-family: "Segoe UI Symbol"; }

Bis hierhin ist alles kein Problem, aber jetzt kommt der kleine Haken an der Sache. Normalerweise interessiert sich die Shortcode-Funktionalität von WordPress nicht für die Texte in Widgets. Glücklicherweise kann man dem mit einer Zeile PHP-Code in der functions.php des Themes Abhilfe schaffen:

add_filter('widget_text', 'do_shortcode');

Damit wird WordPress veranlaßt, auch den Widget-Text durch die Shortcode-Verarbeitung zu schicken und alles ist prima.

Wie man den Zeitpunkt der letzten Aktualisierung in den Widget-Titel bekommt, findet Ihr bestimmt selbst raus.

Na dann, frohes Ranking! :-)

Xovilichter

Schreibe einen Kommentar

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

 Hier kein Häkchen setzen
 Ich bin kein Spambot

Hinweis: Kommentare von bisher unbekannten Schreibern (Name und eMail) oder mit mehr als einem Link werden moderiert.