Montag, 26. Oktober 2009, Geschrieben von adkorte, 2 Kommentare
Bild: rawheadrex, Lizenz
Ein jeder wird sie kennen: Die sogenannte
Breadcrumb-Navigation.
Diese Form der Navigation ist auf fast jeder wichtigen Seite zu finden und sie bietet dem Besucher einen echten Mehrwert: Da sie fast immer direkt über der Artikel-Überschrift zu finden ist, weiß der Besucher ganz genau, wo er sich gerade befindet.
In welcher Kategorie, in welchem Artikel.
Und er kann ohne Probleme direkt wieder in die Kategorie wechseln.
Und seien wir doch mal ehrlich: Cool sieht das Ganze auch noch aus.
Stellt sich die Frage: Warum keine solche Breadcrumb-Navigation auch in Wordpress nutzen?!
Das dachten sich auch schon andere und deshalb gibt es Plugins für Wordpress, die eine solche Navigation schaffen zu Genüge.
Aber warum ein Plugin benutzen (das den eigenen Blog vielleicht noch lahmer macht), wenn man sich das auch selbst bauen kann?!
Wie das geht, will ich hier kurz mal vorführen.
Schritt 1: functions.php aufrufen
In der
functions.php bietet Wordpress von Haus aus die Möglichkeit, eigene Funktionen anzulegen.
Diese Möglichkeit wollen wir hier nutzen.
Wer noch keine functions.php der legt sich einfach eine an! 
Eine neue Datei (beschreibbar, um sie live ändern zu können) reicht vollkommen aus.
PHP-Funktion anlegen
Da wir das Ganze (wie auch Wordpress eh schon) mit PHP machen werden, lege bitte als ersten Schritt das äußere Gerüst für die Funktion an.
Das ist ganz leicht:
<?php steht am Anfang und
?> steht am Ende.
Dem Kind einen Namen geben
Damit wir uns gleich leicht merken können, legen wir jetzt die Funktion als solches an:
function brotkrumen() {
Unsere Funktion heißt jetzt “brotkrumen”, die geschweifte Klammer öffnet die Funktion.
Blog-Informationen bereitstellen
Aus SEO-Sicht und für die Navigation selbst macht es total viel Sinn, dass wir in der Breadcrumb-Navigation unsere Blog-Informationen bereitstellen.
Das ist der nächste Schritt:
$Blogheimat = get_bloginfo('url');
$Blogname = get_bloginfo('name');
Die Variable “Blogheimat” gibt die URL deines Wordpress-Blogs an, die Variable “Blogname” hingegen den Titel deines Blogs.
Ausgabe festlegen
Die breadcrumb-Navigation soll ja nicht auf jeder Seite auftauchen. Das musst du der Funktion (und damit Wordpress) aber auch sagen.
In unserem Fall wird die Navigation nur auftauchen in:
- jeder Kategorie (category>
- jedem einzelnen Artikel (single)
- jeder Seite (page)
Damit das geschieht, müssen wir die Funktion um diesen Schnippsel erweitern:
if(is_category() || is_single() || is_page()) {
Dieser Schnippsel prüft vor Ausgabe der Funktion, ob es sich bei der ausgegebenen „Datei“ um eine Kategorie, einen einzelnen Artikel oder eine Seite handelt. Ist das nicht der Fall, so wird die Funktion auch nicht weiter aktiv.
Navigation anzeigen
Das war es schon fast, jetzt müssen wir nur noch dafür sorgen, dass die Navigation auch angezeigt wird.
echo "<p>";
echo "<a href=\"$Blogheimat\" title=\"$Blogname\">$Blogname</a>";
echo " » ";
In diesem ersten Schritt geben wir als ersten Teil der Navigation den Namen des Blogs aus und verweisen auf die Stamm-URL der Wordpress-Installation.
Dafür brauchen wir die eben festgelegten Variablen „Blogheimat“ und „Blogname“.
Im zweiten Schritt wird jetzt festgelegt, was wann angezeigt wird.
Befindet sich der Besucher gerade in einer Kategorie, so soll er ja auch nur sehen, dass er in der Kategorie ist.
Das passiert so:
if(is_category()) { echo single_cat_title(); }
Damit wird abgefragt, ob es sich bei der ausgegebenen Seite um eine Kategorie handelt. Und wenn das so ist, dann wird der Titel/Name dieser Kategorie angezeigt.
Wenn der Besucher aber in einem Einzelartikel ist, dann soll er ja den Titel des Artikels sehen und dazu die Kategorie, in der der Artikel abgelegt ist:
if(is_single()) { echo the_category(', '); echo " » "; echo the_title(); }
Und wenn er sich auf einer statischen Seite befindet, so soll er auch nur den Titel dieser Seite sehen:
if(is_page()) { echo the_title(); }
Fertig
Wenn das alles gemacht ist, dann müssen wir nur noch den geöffnet Absatz schließen, die Funktion beenden und (wie oben bereits erwähnt) PHP „beenden“.
Geht so:
echo "</p>";
}
}
?>
Navigation einbauen
Alles was jetzt noch fehlt, ist die Navigation auch einzubauen. Das macht am meisten Sinn direkt über der Artikel-Überschrift.
Dafür müssen wir dann auch nur unsere Funktion in der entsprechenden Template-Datei (single.php etwa) aufrufen:
<?php brotkrumen(); ?>
Und schon läuft alles wunderbar!
Noch Fragen?
Wenn nicht alles wunderbar läuft, so schreib hier doch einfach einen Kommentar!
Downloaden
Wer keine Lust hat, sich das alles selbst zu erarbeiten, der kann sich den Quelltext hier anzeigen lassen oder eine functions.php mit dem Inhalt der Breadcrumb-Navigation herunterladen.
Quelltext anzeigen.
Funktion herunterladen.
Dieser Beitrag wurde am 26. Okt 2009 geschrieben und ist abgelegt in der Kategorie Tipps & Tricks.
Du kannst über neue Kommentare informiert werden, wenn du den RSS 2.0 Feed abonnierst!
Du kannst Breadcrumb-Navigation ohne Plugin kommentieren, oder einen Trackback von deiner Seite setzen.
28. November 2009 19:39