Link Rel=‘Next‘ im WordPress-Template

 In WordPress gibt es eine ganze Latte an Tags, womit man jeden erdenklichen Unfug anstellen kann.
Nun grad – vor einer Stunde oder so – hab ich mir der besseren Zugänglichkeit halber mal wieder in den Kopf gesetzt, „Link-Relationen“ der Art:
<link rel="prev" title="Voriger Eintrag" href="http://adresse-zum-vorigen-Beitrag/" />
<link rel="next" title="Nächster Eintrag" href="http://adresse-zum-nächsten-Beitrag/" />

zu realisieren und stosse stiess da auf erhebliche Probleme.
Anfangen tut das, dass der naheliegendste Tag „next post link“ überflüssigerweise eine ganze Latte an HTML-Code etwa der Art:
<link rel="prev" title="Feeds
in Netvibes hinzufügen." href="<a href="http://trash-wissen.de/…/">Titel</a>" />

fabriziert, und diese ekelhafte Scheisse WordPress auch nach aufmerksamstem Studium des ganzen kompletten Internetzes nicht auszutreiben ist.

Die Lösung des Problems ist ein kleiner Codeschnipsel, den mir sivel auf Anfrage im IRC freundlicherweise zurechgebastelt hat.
So sieht er aus:
<?php
if (is_single()):
$prev = get_adjacent_post(false,'',true);
$next = get_adjacent_post(false,'',false);
if (isset($prev)): ?>
<link rel="prev" title="<?php echo get_the_title($prev->ID); ?>" href="<?php echo get_permalink($prev->ID); ?>" />
<?php endif; ?>
<?php if (isset($next)) : ?>
<link rel="next" title="<?php echo get_the_title($next->ID); ?>" href="<?php echo get_permalink($next->ID); ?>" />
<?php
endif;
endif;
?>

Der ganze Spass gehört in die Header.php.
Voila und danke!

Link: Sivel (sivel.net)

8 Kommentare to “Link Rel=‘Next‘ im WordPress-Template”

  1.  Gerald – hyperkontext schrieb am 17. Dez 2008 um 14:36 zitieren

    Du weißt aber schon, dass mit link rel="next" der Firefox in der Default Einstellung – wenn er im Leerlauf ist – automatisch diese nächste Seite im Voraus ladet?

    In speziellen Fällen mitunter keine schlechte Sache für Benutzer. (Für Betreiber: Erhöht die Seitenaufruf-Statistik.)

    Bitte mich jetzt nicht falsch interpretieren. Ich verstehe Deine „gute“ Absicht dahinter.

    Bei manchen kann das Verärgerung hervorrufen, wenn sie das bemerken. Nach dem Motto: Warum wird da ein Seitenaufruf getätigt, obwohl ich mir diese Seite vielleicht nie bewusst angesehen habe.

    Über diese „berühmte“ Prefetch-Funktion vom Firefox gab es ja im Sommer schon einige Diskussionen.
    Bevor ich da jetzt Romane schreibe: Ich bin der Sache damals im Detail nachgegangen: Prefetch im Firefox: Mythos und Wahrheit.

  2.  Greg schrieb am 17. Dez 2008 um 20:49 zitieren

    Ich bin der Meinung, dass sich der User statt sich zu beschweren einfach um seine/ihre Einstellungen kümmern sollte. Leider sind vernünftige Browser gerade rar, aber gerade deshalb sollte sich jedeR mal 5min mit seinen/ihren Einstellungen beschäftigen!

    Wenn wir jetzt anfangen wieder Websites für bestimmte Browser zu schreiben, bekommen wir evtl die gleich Situation wie vor 10 Jahren, wo man für 3 Browser 3 Versionen brauchte. Das kann niemand wollen.

  3.  Mike® schrieb am 17. Dez 2008 um 21:50 zitieren

    Gerald, mir ist die Problematik schon bekannt. Ich entscheide mich für bessere Barrierefreiheit und/ oder WAI und gegen Browsermimositäten.
    Ich für meinen Teil habe die Funktion auch schon immer™ im Browser aktiv und mich am Anfang über bspw. Cookies von fremden Seiten in der Google-suche gewundert. Das vergeht mit der Zeit, wenn man weiss, was da passiert 😉
    Hier denke ich, sollte man die Leute besser informieren, wie Du es bspw. getan hast, anstatt auf solche Features zu verzichten.

    Was nicht immer so war, das ist die prefetching-funktion in FF. In SM bzw. Mozilla ist diese übrigens auch ein ziemlich alter Hut.

  4.  Gerald – hyperkontext schrieb am 18. Dez 2008 um 1:14 zitieren

    Ja eh. Lauft offene Türen bei mir ein. Ich wollt ja nur darauf hinweisen, dass der FF mit seiner prefetch-Geschichte das eben nicht nur mit rel="prefetch" macht, sondern eben auch mit rel="next".

    Die Sache mit den Link-Relationen finde ich eine gute. Wird leider nur vom Opera, vom Lynx – und offenbar vom SM – standardmäßig unterstützt. Für FF gibts glaub ich eine Erweiterung. Bei den anderen bleibt das in den Meta-Tags verborgen, wenn ich das richtig im Gedächtnis habe.

  5.  Mike® schrieb am 18. Dez 2008 um 2:16 zitieren

    Für FF gibt es die Erweiterung Link Widgets, für IE gibt es imho auch eine, aber die muss ich nicht raussuchen, wer mit der Krücke surft wird so etwas nie suchen/ brauchen 😉

  6.  Ameise schrieb am 06. Jan 2009 um 6:40 zitieren

    Als richtiger Neuling: Hier gibt es viel zu lernen.Vielen Dank.

    Ameise

  7.  Micha schrieb am 16. Jul 2009 um 15:24 zitieren

    Gute Nachricht. WP 2.8 macht die Links automatisch in den head.

  8.  Mike® schrieb am 18. Jul 2009 um 12:39 zitieren

    Ah, ein guter Weg in die richtige Richtung, danke für den Hinweis.

Trackback-Adresse | RSS-Feed für die Kommentare abonnieren

Hinterlasse einen Kommentar:


(Wir behalten uns vor Kommentare von dummen Menschen entweder zu löschen oder exemplarisch für die Nachwelt zu konservieren. Dumme Kommentare mit Werbelinks müssen leider auf zweiteres Privileg verzichten.)

XHTML: Du kannst diese Tags verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>