Post navigation

WordPress: Related Posts ohne Plugin erstellen

WordPress Snippets · · 5 Kommentare

Related Posts sind eine feine Sache. Sie helfen Dir unter Umständen, Deine Besucher länger auf Deinem Blog zu halten. Für die Erstellung brauchst Du kein Plugin zu verwenden, ein kleines Snippet für die functions.php tut es ebenfalls und ist sehr gut anpassbar.

Viele Related Posts Plugins sind völlig überfrachtet und verlangsamen Deine Website unnötig. Hier kommt ein kleiner und gut an Deine Wünsche anpassbarer Code-Schnipsel, der diesen Job hervorragend erledigt.

➜ Meine Empfehlung für Dich:Raidboxes Managed WordPress Hosting

Related Posts ohne Plugin – der Code

  • WordPress Version: inkl. 4.7.1
  • PHP-Version: inkl. PHP 7

Die Related Posts werden aus den vergebenen Tags herausgesucht.

<?php

// Ab hier kopieren
function ah_related_posts() {
  global $post;
  $tags = wp_get_post_tags( $post->ID );
  if($tags) {
    foreach( $tags as $tag ) {
      $tag_arr .= $tag->slug . ',';
    }
    $args = array(
      'tag' => $tag_arr,
      'numberposts' => 3, // Setze die Anzahl der von Dir gewünschten Related Posts
      'post__not_in' => array($post->ID)
    );
    $related_posts = get_posts( $args );
    if($related_posts) {
      echo '<h4>Related Posts</h4>';
      echo '<ul class="related-posts">';
      foreach ( $related_posts as $post ) : setup_postdata( $post ); ?>
        <li class="related_post">
          <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
            <?php the_title(); ?>
          </a>
        </li>
      <?php endforeach; ?>
      </ul>
      <?php  wp_reset_postdata(); ?>
    }
  }
}

Die Funktion im Theme nutzen

Um die Funktion einsetzen zu können, musst Du herausfinden, welche der Theme-Dateien für die Anzeige der einzelnen Beiträge verantwortlich ist. Meistens ist das die single.php. Dort musst Du dann noch den Funktionsaufruf an die Stelle setzen, an der die Related Posts erscheinen sollen.

Ich empfehle Dir vorher ein Child-Theme anzulegen und alle Theme-Änderungen im Child-Theme zu machen.

<?php ah_related_posts(); ?>

Abonniere meinen Newsletter

Melde Dich für meinen Newsletter "WordPress & Bloggen" an und verpasse keinen Artikel. Als Dankeschön bekommst Du Gratis meine nützliche Checkliste:
»12 Dinge, die Du vor einem Theme-Wechsel beachten solltest«.

Andreas Hecht

ist WordPress-Entwickler und bietet dir WordPress-Sicherheit für deine Website. Zudem entwickelt er WooCommerce Shops mit Ladezeiten von unter einer Sekunde. Er ist ebenfalls Autor von drei richtig guten WordPress E-Books.

5 thoughts on “WordPress: Related Posts ohne Plugin erstellen

  • Schöne Lösung. Aber ich verwende auf meiner Seite z.B. keine Tags. Kann man das Snippet auch so anpassen, dass die Kategorien als Suchkriterium verwendet werden? Das wäre echt ne klasse Sache….

  • Nice, das nenne ich mal ne schlanke Lösung! Habe mir etwas ähnliches ebenfalls selbst gecodet – bin nur nicht bei WordPress, daher standen teilweise die entsprechenden Funktionen nicht zur Verfügung.

    Bin allerdings gerade dabei mir zu Testzwecken evtl. doch mal nen „Fertig-Blog“ einzurichten. Einfach um mal die Strukturen dahinter zu sehen etc.

  • Hallo, Klasse die kleinen Snippets und Danke, dass du sie mit uns teilst. Bei diesem Snippet ist mir ein kleiner Fehler aufgefallen.
    <?php endforeach;

    Das Abschliessende ‚?>‘ kommt nicht hinter ‚postdata();‘, sonden hinter ‚endforeach;‘
    LG Asterios

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.