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.