Was tun, wenn die WordPress Beitragsnavigation nicht ins Konzept passt?

Nutzer und Leser von Blogs kennen die WordPress Beitragsnavigation und wissen sie wahrscheinlich auch zu schätzen: Unter jedem Beitrag erscheinen zwei Links, die auf den vorherigen und den nächsten Beitrag verweisen. Das ist grundsätzlich eine tolle Sache, macht es nämlich immer Sinn, mehrere Wege anzubieten, die nach Rom führen. Doch hat die Sache hat auch einen Haken: Websites, die gar nicht bloggen, aber dennoch Beiträge nutzen, können den Standard, nämlich das Verlinken auf den nächstälteren und den nächstjüngeren Beitrag, oft gar nicht gebrauchen. Was also tun: die Beitragsnavigation etwa ganz entfernen? Mitnichten!

Die Krux mit der Chronologie

Stellen Sie sich vor, Sie veröffentlichen drei Beiträge in einer Kategorie. Der Aktualität halber sagen wir: Fußball. Der Beitrag Fußball 1 beschäftigt sich mit Trikots, in Fußball 2 geht es um Schuhe und Fußball 3 handelt von Bällen. Chronologie ist Ihnen völlig egal, Sie wollen etwas über Ihre Produkte erzählen und wünschen auf der Kategorie-Seite genau diese Reihenfolge. In der WordPress Logik, die der Chronologie folgt, steht aber auf der Kategorie-Seite der zuletzt veröffentlichte Beitrag über den anderen. Im Zweifel lautet die Reihenfolge also 3 – 2 – 1 statt 1 – 2 – 3.

Fußballspieler Navigation
Immer gut wissen, wo es langgeht

Nun denken Sie, Sie könnten die Chronologie einfach austricksen und verändern das Veröffentlichungsdatum: Den Trikots geben Sie das heutige Datum mit der Uhrzeit 15:00 Uhr, den Schuhen die Uhrzeit 14:00 Uhr und die Bälle setzen Sie auf 13:00 Uhr. Nun erscheinen die drei Beiträge auf Ihrer Kategorie-Seite in der Reihenfolge (1) Trikots, (2) Schuhe und (3) Bälle. So weit, so gut. In der Beitragsnavigation allerdings wird es befremdlich:

Sagen wir, ein Leser hat tatsächlich mit den Trikots begonnen. In der Navigation werden ihm jetzt die Schuhe angeboten – allerdings mit dem Hinweis auf ein vermeintliches Zurück (andere Themes nennen es auch vorheriger Beitrag). Zurück will ihr Leser aber gar nicht navigieren, die Erwartung wäre doch eher ein Weiter (oder nächster Beitrag), um zu Ihrem zweiten Fußball-Beitrag über die Schuhe zu gelangen.

WordPress Beitragsnavigation Twenty Sixteen Original
WordPress Beitragsnavigation Twenty Sixteen Original

Website-Betreiber, die zwar Beiträge und Kategorien für die Gestaltung nutzen, aber gar nicht wirklich bloggen wollen, bleibt also gar nichts anderes übrig, als einen Eingriff in die PHP-Datei zu nehmen, die die Darstellung der WordPress Beitragsnavigation definiert.

Wie immer gilt: Wer PHP-Dateien modifizieren möchte, muss ein Child-Theme erstellen, weil die Änderungen nach dem nächsten Theme-Update sonst verloren wären!

Twenty Fifteen und Twenty Sixteen und die WordPress Beitragsnavigation

Die beiden Standardthemes Twenty Fifteen und Twenty Sixteen benutzen beide dieselbe PHP-Definition für die Beitragsnavigation. Diese steht in der single.php am Ende des Loops und lautet:

// Previous/next post navigation.

the_post_navigation( array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Next', 'twentysixteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Next post:', 'twentysixteen' ) . '</span> ' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Previous', 'twentysixteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Previous post:', 'twentysixteen' ) . '</span> ' .
'<span class="post-title">%title</span>',
) );

Auch wenn hier kein deutsches Wort vorkommt, sorgt doch die Übersetzungsfunktion dafür, dass im Frontend im Rahmen eines einzelnen Beitrags neben dem Titel des jeweiligen Beitrags auch die Begriffe Zurück und Weiter erscheinen. Zurück bedeutet in diesem Fall zurück zum nächstjüngeren Beitrag (in der Liste aller Beiträge, die nach Erscheinungsdatum sortiert sind, der aktuellste zuoberst). Weiter heißt entsprechend: Weiter zum nächstälteren Beitrag.

Möchte man nun die Logik dieser Navigation an die eigenen Bedürfnisse anpassen, lautet die Definition wie folgt:

the_post_navigation( array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Zurück' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Vorheriger Beitrag' ) . '</span> ' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Weiter' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Nächster Beitrag' ) . '</span> ' .
'<span class="post-title">%title</span>',
) );

Indem Sie bei ‘next_text’  statt ( ‘Next’, ‘twentysixteen’ )  einfach ( ‘Zurück’ )  einsetzen (und genauso bei ‘prev_text’  statt ( ‘Previous’, ‘twentysixteen’ )  einfach ( ‘Weiter’ )  wählen) vertauschen Sie die Logik. Auch Vorleseprogramme für Sehbehinderte erhalten die Information: Bei ‘next_text’  erkennt der Screen Reader ( ‘Vorheriger Beitrag’ ) , bei ‘prev_text’  liest er ( ‘Nächster Beitrag’ )  vor.

Im Frontend sieht das Ganze dann entsprechend Ihrer Sortierung sehr logisch aus:

WordPress Beitragsnavigation Twenty Sixteen bearbeitet
WordPress Beitragsnavigation Twenty Sixteen bearbeitet

Bemerke: Dieses Vorgehen beeinflusst die Beitragsnavigation für Ihre gesamte Website. Sollten Sie also zudem tatsächlich bloggen, würden die Navigation auch hier diesem Prinzip folgen!

Link in same Category

Nun gibt es noch einen weiteren Aspekt der WordPress Beitragsnavigation, der für Website-Betreiber bedeutsam ist, die Beiträge und Kategorien nutzen, ohne tatsächlich zu bloggen: das Verlinken innerhalb derselben Kategorie.

Sagen wir, Sie beschäftigen sich neben dem Fußball auch noch mit Tennis und Eishockey. Die Standard-Beitragsnavigation macht keinen Unterschied, zu welcher Kategorie ein einzelner Beitrag gehört – sie interessiert sich nur für die Chronologie. Spätestens beim letzten Beitrag der einen Kategorie wird sie automatisch einen Beitrag einer anderen Kategorie anzeigen, sagen wir von Fußball 3: Bälle geht es direkt zu den Tennisröckchen.

Um dies zu vermeiden, braucht es zur Ergänzung des vorhandenen PHP-Definition nur eine weitere Angabe, nämlich:

'in_same_term' => 'true',

Im ganzen Satz sieht die Definition also wie folgt aus:

the_post_navigation( array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Zurück' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Vorheriger Beitrag' ) . '</span> ' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Weiter' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Nächster Beitrag' ) . '</span> ' .
'<span class="post-title">%title</span>',
'in_same_term' => 'true',
) );

Diese Definition funktioniert übrigens auch für das Twenty Fifteen Theme!

 


Beitragsbild und Screenshots: Britta Kretschmer

2 Anmerkungen zu “Was tun, wenn die WordPress Beitragsnavigation nicht ins Konzept passt?

  • 11. Januar 2019 um 7:34
    Permalink

    Hmmm, wieso funktioniert das bei mir nicht mit dem

    ‘in_same_term’ => ‘true’,

Schreibe einen Kommentar

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