Eine Krümelzeile für WordPress

19 Jan
19. Januar 2011

Anfang 2009 habe ich im Post Hänsel & Gretel hatten auch eine Krümelzeile auf dieses Designelement hingewiesen. Nun ist es so, dass ich für eine Unternehmensseite, welche ich WordPress erstelle, wiedermal eine Krümmelzeile brauchte.

Wie immer, ist bei mir der erste Weg nicht in das PlugIn-Verzeichnis von WordPress, sondern in die Datei functions.php.

Eigentlich ist es ganz einfach. Wir brauchen eine kleine Funktion welche den aktuellen Post ausliest. Dann überprüfen wir, ob wir uns auf der Startseite befinden. Denn hier ist es noch nicht sinnvoll diese Art der Navigation anzubieten. Falls wir uns wo anders befinden, fangen wir an, den Weg zurück zu suchen. Also füge die folgende Funktion in die functions.php des aktiven Themas ein.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function guru_BreadCrumbNavi() {
	global $post;  //der aktuelle Post aus dem Loop
 
	//Nur ausfuehren falls nicht die Startseite angezeigt wird
	if (!is_home() && !is_front_page()) {
		//Ausgabe des Anfangs der BreadCrumb-Navigation
		echo 'Der Weg zur&uuml;ck zu <a href="';
		//Den Link auf die Startseite ausgeben
		echo get_option('home');
		//Den Titel fuer den Link ausgeben
		echo '">Unsere Mission</a> &laquo; ';
		//Entweder sehen wir eine Kategorie oder einen einzelnen Post
		if (is_category() || is_single()) {
			//Den Link zur Kategorie ausgeben
			the_category('title_li=');
			//Falls ein einzelner Post angezeigt wird,
			//dann den Titel ausgeben
			if (is_single()) {
				echo " &laquo; ";
				the_title();
			}
		} elseif (is_page()) {
			//Falls eine Seite angezeigt wird
			//preufen wir ob es eine uebergeordnete gibt
			if ($post->post_parent) {
				$parentID=$post->post_parent;
			} else {
				$parentID=0;
			}
			//Solange uebergeordnete Seiten gefunden werden
			while ($parentID > 0) {
				//Die Elternseite ermitteln
				$pPost = get_post($parentID);
				//Den Link zur Elternseite ausgeben
				echo "<a href='".get_permalink($parentID)."' title='".$pPost->post_title.
				     "'>".$pPost->post_title."</a> &laquo; ";
				//Pruefen ob die Elternseite noch eine uebergeordnete Seite besitzt
				$pPost = get_post($parentID);
				$parentID=$pPost->post_parent;
			}
			//Den Titel der aktuellen Seite ausgeben
			echo the_title();
		}
	}
}

Nun kannst Du die Funktion an der passenden Stelle der header.php aufrufen, um die Navigation mit BreadCrumbs anzuzeigen.

...
<div id="bCrumb">< ?php guru_BreadCrumbNavi(); ?></div>
...

Für alle die noch mehr Wissen wollen

Kann ja im PlugIn-Verzeichnis von WordPress [EN] stöbern. Für den Code sind die einzelnen Tags beim Codex von WordPress [EN] genau erklärt. Bei SmashingMagzine ist ein guter Post zum Design und zur Usabaility von Krümelzeilen [EN] erschienen. Die Grundlage für den gezeigten SourceCode findest Du bei diesem Post von CatsWhoCode [EN]. Michael Oeser hat in seinem Blog einen Post zur Programmierung und zum Design für Brotkrümel geschrieben. Natürlich hat auch bueltge etwas zu diesem Thema zu bieten.

Tags: , , , , , ,