WP Tipp: Dem Auszug einen Weiterlesen-Link hinzufügen

WordPress zeigt am Ende des Auszugs (Excerpt) die Zeichen […] an. Da vermutlich einige Besucher übersehen, dass sie mithilfe des verlinkten Titels zum kompletten Post gelangen, ist ein zusätzlicher Weiterlesen-Link stark von Vorteil.

Was ist der Auszug?

Der Auszug (Excerpt) ist ein Text welcher als Einleitung oder Zusammenfassung dient. Wenn der Auszug nicht manuell eingegeben wird, werden standardmässig die ersten 55 Wörter des Beitrags dafür verwendet. An welcher Stelle der Auszug zum Einsatz kommt ist Theme abhängig. Der Auszug kommt insbesondere bei den gekürzten Feeds und den Suchresultaten zum Einsatz. Je nach Theme wird er auch für Archivseiten oder der Blog Startseite verwendet.

Den Weiterlesen-Link einbauen

Um den Weiterlesen-Link in eueren Auszügen einzubauen, müsst ihr eure functions.php erweitern. Das folgende Snippet ist eine Variante, welche zusätzlich den Link Text für andere Sprachen übersetzbar macht:

function new_excerpt_more($more) {
    global $post;
    return '<p><a href="'. get_permalink($post->ID) . '" class="more-link">' . __( 'Continue reading', 'YOUR-TEXT-DOMAIN' ) . '</a></p>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Noch nicht ganz fertig

Was haben wir bisher erreicht? Mit oben stehendem Snippet wird dem Auszug eines Artikels, welcher automatisch erzeugt wird und entsprechend lang ist, den Weiterlesen-Link hinzugefügt. Wie bereits erwähnt, wird für die automatischen Generierung des Auszugs der Standardwert von 55 Wörtern benutzt.

Fall 1: Manueller Seitenumbruch

Wurde im Artikel vor dem 55. Wort ein manueller Seitenumbruch hinzugefügt, erscheint bei der Nutzung des Auszugs dieser Weiterlesen-Link nicht. Vergleichsweise würden ohne das Snippet die Zeichen […] auch nicht angezeigt werden. Dies ist auch der Grund wieso das Snippet in diesem Fall keine Wirkung zeigt.

Fall 2: Manuell erstellter Auszug

Fleissigere User schreiben den Auszug manuell um beispielsweise Satzunterbrüche zu vermeiden. Folglich wird der manuell erstellte Auszug, unabhängig der Wörterbeschränkung, komplett ausgegeben. Als Beispiel kann ein manueller Auszug auch aus 70 Wörter bestehen. Auch in diesem Fall wird kein Weiterlesen-Link dargestellt, da auch kein […] folgen würde.

Weiterlesen-Link auch in diesen Fällen

Um auch in diesen Fällen einen Weiterlesen-Link zu setzen, habe ich mich vom Artikel «The Ultimate Guide to WordPress Post Excerpts» inspirieren lassen. Dabei habe ich folgendes If-Schleifen-Konstrukt gebastelt welches an passender Stelle eines Templates, zum Beispiel für Suchresultate, eingefügt wird:

<?php if (has_excerpt()) {
    // if it has a custom excerpt
    the_excerpt(); ?>
    <p><a class="more-link" href="<?php the_permalink() ?>"><?= __( 'Continue reading', 'YOUR-TEXT-DOMAIN' ) ?></a></p> <?php
 } elseif (strpos($post->post_content, '<!--more-->')) {
    // if it it has a break tag
    the_content( __( 'Continue reading', 'YOUR-TEXT-DOMAIN' ) );
 } else {
    // display the default excerpt
    the_excerpt();
 }

Bei dieser Methode wird nur beschränkt Einfluss auf die Ausgabe der gekürzten Feeds genommen. Die Funktion new_excerpt_more fügt bei automatisch erzeugten Auszügen einen Weiterlesen-Link hinzu. Manuelle Umbrüche (read more) werden ignoriert. Werden manuelle Auszüge geschrieben, wird kein Weiterlesen-Link angezeigt.

Schlusswort

Die Auszüge nutze ich auch in diesem Theme (AlbinoMouse) für Suchresultate und gekürzten Feeds. Obwohl ich die Auszüge nützlich finde, bin ich kein Fan von der Nutzung auf der Startseite. Mit den manuellen Seitenumbrüchen kann der Benutzer selbst entscheiden wo und ob er überhaupt den Artikel in gekürzter Form anbietet.

Schreibe einen Kommentar

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