Breadcrumbs in WordPress ohne Plugin
Breadcrumbs sind die kleinen Anzeiger im Webdesign, die dem Besucher der Webseite helfen sollen sich zurecht zu finden. Besonders interessant ist diese Funktion bei Webseiten oder Blogs, die eine stark verschachelte Seitenstruktur haben. Wie man Breadcrumbs in seinen WordPress Blog einfügt ohne ein weiteres Plugin installieren zu müssen zeige ich in diesem Tutorial. Um die Übersichtlichkeit des Quellcodes zu bewahren, lagere ich solche Snippets gerne in Dateien aus, die ich dann mittels include-Befehl in die Seiten einfüge.
Schritt 1: Erstellen der Datei breadcrumb.php
In der neu erstellten Datei fügen wir folgenden Code ein:
<?php
echo ‘<ul id=”breadcrumbs”>’;
echo ‘<li>Sie befinden sich hier:</li>’;
if(is_page() && !is_front_page())
{
echo ‘<li><a href=”‘.get_bloginfo(‘url’).’”>Home</a>»</li>’;
$post_anchestors = get_post_ancestors($post);
if($post_anchestors)
{
$post_anchestors = array_reverse($post_anchestors);
foreach($post_anchestors as $crumb)
{
echo ‘<li><a href=”‘.get_permalink($crumb).’”>’.get_the_title($crumb).’</a>»</li>’;
}
}
echo ‘<li><a href=”‘.get_permalink().’”>’.get_the_title().’</a></li>’;}elseif(is_front_page())
{
echo ‘<li><a href=”‘.get_bloginfo(‘url’).’”>Home</a></li>’;
}elseif(is_category() || is_single())
{
echo ‘<li><a href=”‘.get_bloginfo(‘url’).’”>Home</a>»</li>’;
$breadcrumb_category = get_the_category();
echo ‘<li><a href=”‘.get_category_link($breadcrumb_category[0]->cat_ID).’”>’.$breadcrumb_category[0]->cat_name.’</a>»</li>’;
if(is_single())
{
echo ‘<li><a href=”‘.get_permalink().’”>’.get_the_title().’</a></li>’;
}
}
echo ‘</ul>’;
?>
Mit der if_Schleife if(is_page() && !is_front_page() sprechen wir alle Seiten an, ausschließlich der Startseite des WordPress Blogs. Mit der WordPress-eigenen Funktion get_post_ancestors() bekommen wir eventuell vorhandene Unterseiten dieser Seite. Diese werden in einem Array abgespeichert, den wir dann mit array_reverse in die von uns gewünschte Reihenfolge umdrehen. Dieser Array wird dann Stück für Stück durch eine foreach-Schleife abgearbeitet.
Als nächstes bestimmen wir, wie der Breadcrumb auf der Startseite des WordPress Blogs aussehen soll. Durch die if-Schleife elseif(is_front_page()) kommen wir an die Startseite heran, da auf ihr nichts außer Home stehen soll.
Die letzte elseif-Schleife kümmert sich um die Kategorien und die Artikelseiten.
Im PHP-Code habe ich den einzelnen Elementen der ungeordneten Liste schon eine ID und Klassen vergeben, damit diese nachher problemlos mittels CSS an das vorhanden Webdesign seiner Seite anpassen kann.
Die breadcrumb.php speichern wir nun im Root-Verzeichnis unseres WordPress Themes ab und binden Sie an gewünschter Stelle mittels
<?php include(TEMPLATEPATH . ‘/breadcrumb.php’); ?>
ein, fertig.
Tina sagt:
Hey, vielen Dank für das Script und deinen tollen Beitrag. Ich bin noch Newbie in Sachen PHP und Seitengestaltung. Aber diese Möglichkeit ohne Plugin das Breadcrumb zu erstellen ist klasse. Ich werde wohl noch ne Weile über deine Seiten stolzieren und mal schauen was du noch alles Schönes versteckt hast. Ich weiß du wirst jetzt lachen wegen dem schönen, aber so sind wir nun mal, wir Frauen…
Tina´s last blog ..Body aus dem Beate Uhse Online-Shop
mindbox sagt:
Thanks for the tips Web Video Production in Austin Texas
mindbox´s last blog ..Chevy Recharges You at SXSW 2010
medani sagt:
Danke für die tolle Info… kann man sicher mal gebrauchen
medani´s last blog ..Webdesign für Fliesen Halada
ff-webdesigner sagt:
Sehr feines kleines Addon. Ich brächte genau sowas…läuft das auch unter WP 3.0?
Dietmar sagt:
Dieses Script sollte ohne weiteres auch unter WordPress 3.0 laufen. Getestet habe ich es allerdings noch nicht…