„Weiterlesen“ beim GeneratePress Theme immer anzeigen

GeneratePress zeigt bei verkürzten Beiträgen normalerweise ein „Weiterlesen“-Link an, sofern weiterer Inhalt verfügbar ist. Ist der Inhalt des Beitrags kürzer als der Auszug, dann wird der Link nicht angezeigt. Gerade die Nutzung von <pre> oder <code>-Tags kann den Inhalt deutlich verkürzen, da WordPress diese aus den Auszügen entfernt.

Durch das uneinheitliche Einblenden des „Weiterlesen“-Links kann das Erscheinungsbild jedoch negativ beeinträchtigt werden. Aus diesem Grund habe ich nach einer Lösung gesucht, wie ich den „Weiterlesen“-Link bei allen Beiträgen, egal ob kurz oder lang, anzeigen lassen kann.

Die Lösung liegt darin, über zwei Filter zunächst den Standard-Link zu entfernen und dann manuell den Link hinter jeden Auszug einzufügen. Dies kann beispielsweise über die functions.php-Datei eines Child Themes erreicht werden.

Zunächst wird der Standard-Link entfernt:

add_filter( 'excerpt_more', function ( $more ) {
    return '';
}, 21 );

Anschließend wird ein eigener Link an jeden Auszug angefügt:

add_filter( 'get_the_excerpt', function ( $excerpt ) {
    $output = $excerpt;

    $output = sprintf(
        '%1$s ... <a class="read-more" href="%2$s" title="">%3$s</a>',
        $excerpt,
        get_permalink(),
        __( 'Read more', 'my_theme' )
    );

    return $output;
} );

Nun sollte der „Weiterlesen“-Link hinter jedem Auszug auftauchen und damit ein einheitliches Erscheinungsbild entstehen.

Schreibe einen Kommentar