Die Änderungen

Also mach ich es kurz und schmerzlos, das muss da rein:

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
 * Adding breadcrumbnavigation to wordpress.
 */

if(!function_exists('my_breadcrumb')) {
    function my_breadcrumb() {
        global $post;

        $var_sHtmlBreadcrumbStart =  __('You are here: ', MY_TEXTDOMAIN);
        $var_sHomeUrl = (get_option('page_for_posts')) ? get_permalink(get_option('page_for_posts')) : home_url();
        $var_sHomeTitle = (get_option('page_for_posts')) ? get_the_title(get_option('page_for_posts')) : get_the_title(home_url());

        if(is_front_page()) {
            return;
        } // END if(is_front_page())

        if(!is_home()) {
            $var_sHtmlBreadcrumb = '<a href="' . $var_sHomeUrl . '">' . $var_sHomeTitle . '</a> » ';

            if(is_category() || is_single()) {
                if(is_single()) {
                    $var_sHtmlBreadcrumb .= get_the_title();
                } // END if(is_single())
            } elseif(is_page()) {
                $var_sParentID  = $post->post_parent;
                $array_Breadcrumbs = array();

                while($var_sParentID) {
                    $page = get_page($var_sParentID);
                    $array_Breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '" title="' . get_the_title($page->ID) . '">' . get_the_title($page->ID) . '</a>';
                    $var_sParentID  = $page->post_parent;
                } // END while($var_sParentID)

                $array_Breadcrumbs = array_reverse($array_Breadcrumbs);

                foreach ((array) $array_Breadcrumbs as $var_sCrumb) {
                    $var_sParentPage .= $var_sCrumb . ' &raquo; ';
                }

                $var_sHtmlBreadcrumb = $var_sParentPage . get_the_title();
            } elseif(is_tag()) {
                single_tag_title();
            } elseif(is_day()) {
                $var_sHtmlBreadcrumb .= __('Archive for ', MY_TEXTDOMAIN) . get_the_time('F jS, Y');
            } elseif(is_month()) {
                $var_sHtmlBreadcrumb .= __('Archive for ', MY_TEXTDOMAIN) . get_the_time('F, Y');
            } elseif(is_year()) {
                $var_sHtmlBreadcrumb .= __('Archive for ', MY_TEXTDOMAIN) . get_the_time('Y');
            } elseif(is_author()) {
                $var_sHtmlBreadcrumb .= __('Authors Archive', MY_TEXTDOMAIN);
            } elseif(isset($_REQUEST['paged']) && !empty($_REQUEST['paged'])) {
                $var_sHtmlBreadcrumb .= __('Blog Archive', MY_TEXTDOMAIN);
            } elseif(is_search()) {
                $var_sHtmlBreadcrumb .= __('Search', MY_TEXTDOMAIN);
            } elseif(is_404()) {
                $var_sHtmlBreadcrumb .= __('404 Error &raquo Not found', MY_TEXTDOMAIN);
            } // END if (is_category() || is_single())
        } else {
            $var_sHtmlBreadcrumb = '<a href="' . $var_sHomeUrl . '">' . $var_sHomeTitle . '</a>';
        } // END if (!is_home())

        return '<div class="my-breadcrumb">' . $var_sHtmlBreadcrumbStart . $var_sHtmlBreadcrumb . '</div>';
    } // END function my_breadcrumb()
} // END if(!function_exists('my_breadcrumb'))

Der Aufruf

Damit ist die Navigation natürlich noch nicht angezeigt, denn das muss erst noch. Dazu wird an jeder Stelle wo diese Navigation angezeigt werden soll im Template folgender Aufruf hinterlegt:

1
if(function_exists('my_breadcrumb')) {echo my_breadcrumb();}

Viel Spaß :-)

Artikel / Seite weiterempfehlen

4 Meinungen zu “WordPress: Brotkrumen (Breadcrumbnavigation) selbst gebacken

  1. Ist das wirklich von Nöten? Ich meine der Besucher ist ja nicht doof, der sieht ja wo er ist. Und so schwierig ist die Navigation durch einen Blog ja nun wirklich nicht, zumal oben das Menü angezeigt wird!?

    • Ich halte die Brotkrumen für absolutwichtig, da der User sicher nicht dumm ist aber die Navigation durch gerade sehr tiefe Strukturen stark vereinfacht wird. Ich selbst nutze dieses Navigationselement immer wenn ich es finde bzw. ich benutze es auch. Es halt aus meiner Sicht einen festen Platz eingenommen.

Hinterlasse eine Antwort

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>