X

So fügen Sie Breadcrumbs in WordPress hinzu

Schnipsel von IsItWP

Suchen Sie nach einer Möglichkeit, Breadcrumbs hinzuzufügen und sie in WordPress anzuzeigen? Es gibt wahrscheinlich ein Plugin dafür, aber wir haben einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um Breadcrumbs in WordPress hinzuzufügen.

Anweisungen:

Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:

function dimox_breadcrumbs() {
 
  $delimiter = '»';
  $name = 'Home'; //text for the 'Home' link
  $currentBefore = '<span class="current">';
  $currentAfter = '</span>';
 
  if ( !is_home() && !is_front_page() || is_paged() ) {
 
    echo '<div id="crumbs">';
 
    global $post;
    $home = get_bloginfo('url');
    echo '<a href="' . $home . '">' . $name . '</a> ' . $delimiter . ' ';
 
    if ( is_category() ) {
      global $wp_query;
      $cat_obj = $wp_query->get_queried_object();
      $thisCat = $cat_obj->term_id;
      $thisCat = get_category($thisCat);
      $parentCat = get_category($thisCat->parent);
      if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));
      echo $currentBefore . 'Archive by category &#39;';
      single_cat_title();
      echo '&#39;' . $currentAfter;
 
    } elseif ( is_day() ) {
      echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
      echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';
      echo $currentBefore . get_the_time('d') . $currentAfter;
 
    } elseif ( is_month() ) {
      echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
      echo $currentBefore . get_the_time('F') . $currentAfter;
 
    } elseif ( is_year() ) {
      echo $currentBefore . get_the_time('Y') . $currentAfter;
 
    } elseif ( is_single() && !is_attachment() ) {
      $cat = get_the_category(); $cat = $cat[0];
      echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
      echo $currentBefore;
      the_title();
      echo $currentAfter;
 
    } elseif ( is_attachment() ) {
      $parent = get_post($post->post_parent);
      $cat = get_the_category($parent->ID); $cat = $cat[0];
      echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
      echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a> ' . $delimiter . ' ';
      echo $currentBefore;
      the_title();
      echo $currentAfter;
 
    } elseif ( is_page() && !$post->post_parent ) {
      echo $currentBefore;
      the_title();
      echo $currentAfter;
 
    } elseif ( is_page() && $post->post_parent ) {
      $parent_id  = $post->post_parent;
      $breadcrumbs = array();
      while ($parent_id) {
        $page = get_page($parent_id);
        $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
        $parent_id  = $page->post_parent;
      }
      $breadcrumbs = array_reverse($breadcrumbs);
      foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
      echo $currentBefore;
      the_title();
      echo $currentAfter;
 
    } elseif ( is_search() ) {
      echo $currentBefore . 'Search results for &#39;' . get_search_query() . '&#39;' . $currentAfter;
 
    } elseif ( is_tag() ) {
      echo $currentBefore . 'Posts tagged &#39;';
      single_tag_title();
      echo '&#39;' . $currentAfter;
 
    } elseif ( is_author() ) {
       global $author;
      $userdata = get_userdata($author);
      echo $currentBefore . 'Articles posted by ' . $userdata->display_name . $currentAfter;
 
    } elseif ( is_404() ) {
      echo $currentBefore . 'Error 404' . $currentAfter;
    }
 
    if ( get_query_var('paged') ) {
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
      echo __('Page') . ' ' . get_query_var('paged');
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
    }
 
    echo '</div>';
 
  }
}

Fügen Sie diesen Code in die Vorlagendatei Ihres Themes ein, wo Sie die Breadcrumbs anzeigen möchten.

<?php 
           if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); 
?>

Alternativ können Sie diesen kürzeren, ähnlichen Schnipsel verwenden. Fügen Sie diesen Code in die functions.php-Datei Ihres Themes oder in ein seitenspezifisches Plugin ein:

function the_breadcrumb() {
        echo '<ul id="crumbs">';
    if (!is_home()) {
        echo '<li><a href="';
        echo get_option('home');
        echo '">';
        echo 'Home';
        echo "</a></li>";
        if (is_category() || is_single()) {
            echo '<li>';
            the_category(' </li><li> ');
            if (is_single()) {
                echo "</li><li>";
                the_title();
                echo '</li>';
            }
        } elseif (is_page()) {
            echo '<li>';
            echo the_title();
            echo '</li>';
        }
    }
    elseif (is_tag()) {single_tag_title();}
    elseif (is_day()) {echo"<li>Archive for "; the_time('F jS, Y'); echo'</li>';}
    elseif (is_month()) {echo"<li>Archive for "; the_time('F, Y'); echo'</li>';}
    elseif (is_year()) {echo"<li>Archive for "; the_time('Y'); echo'</li>';}
    elseif (is_author()) {echo"<li>Author Archive"; echo'</li>';}
    elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Blog Archives"; echo'</li>';}
    elseif (is_search()) {echo"<li>Search Results"; echo'</li>';}
    echo '</ul>';
}

Sie können diesen Code in Ihre single.php-Datei oder page.php einfügen, um das Breadcrumbs-Menü anzuzeigen.

<?php the_breadcrumb(); ?>

Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.

Wenn Ihnen dieser Code-Schnipsel gefallen hat, ziehen Sie bitte in Betracht, unsere anderen Artikel auf der Website zu lesen, wie z. B.: 9 beste WordPress Akkordeon-Plugins und wie man ein Kontaktformular erstellt.

Kommentare   Hinterlasse eine Antwort

  1. Hallo
    wie kann ich Seiten einbeziehen, die von Plugins erstellt wurden, die ich verwendet habe die Funktion dimox_breadcrumbs().

    Meine Plugin-Seiten stammen vom Give Donation und Newsletter Plugin

    Danke, dieser Code hilft wirklich!

  2. Ich habe recherchiert, wie man eine Seite zu Ihren Breadcrumbs hinzufügt. Okay, zum Beispiel habe ich eine Seite namens Orange und eine Beitrags-Kategorie namens Orange, für diese sind verbunden. Wie erstellen Sie einen Breadcrumb wie diesen:

    Home / Orange (Seite) / Titel des Beitrags (Beitrag)

    Sie können dann auf die Seite Orange klicken, um weitere Beiträge zum Lesen anzuzeigen.

    Jede Seite hat eine Formulierung. Dann füge ich eine Beitragsansicht des aktuellen Beitrags für das Thema der Seite hinzu.

    Ich möchte, dass sie zur Startseite zurückkehren können, auf der sie den aktuellen Beitrag gefunden haben.

    Können Sie mir helfen? Vielen Dank für Ihre Zeit.

  3. Richard Rosario 7. Februar 2020 um 9:06 Uhr

    Ausgezeichnetes Tutorial, wie man eine Breadcrumb-Funktion implementiert, anstatt sich auf Plugins zu verlassen. Jedenfalls kann dies viel besser verbessert werden, indem strukturierte Daten für Breadcrumbs eingefügt werden.

  4. Das ist großartig und sehr hilfreich. Ich habe ein paar benutzerdefinierte Post-Typen hinzugefügt und dieses Skript bricht auf diesen Vorlagen. Könnten Sie bei einer Ergänzung für benutzerdefinierte Post-Typen helfen? Danke!

  5. Können Sie bitte mit einer Version helfen, die Schema.org-Markups enthält?

  6. Danke dafür!

    Nur eine kurze Notiz: Sie haben {} verpasst in

Kommentar hinzufügen

Wir freuen uns, dass Sie einen Kommentar hinterlassen haben. Bitte beachten Sie, dass alle Kommentare gemäß unserer Datenschutzrichtlinie moderiert werden und alle Links nofollow sind. Verwenden Sie KEINE Schlüsselwörter im Namensfeld. Lassen Sie uns ein persönliches und bedeutungsvolles Gespräch führen.

WordPress Launch Checkliste

Die ultimative Checkliste für den Start von WordPress

Wir haben alle wichtigen Checklistenpunkte für den Start Ihrer nächsten WordPress-Website in einem praktischen E-Book zusammengefasst.
Ja, senden Sie mir das kostenlose E-Book!