zur Navigation

olaf-bosch.de

Bug in paged comments?

Seit WordPress 2.7 ist es möglich die Kommentare mittels Navigation zu splitten, feine Sache dacht ich mir und aktivierte es bei Akitafreund visit the site.de. Klappte auch prima bis ich mal wieder in die Logs schaute und erschrak, es waren einige 404er mit falsch erzeugten Links zu finden. Ursache ist ein BUG in der/wp-includes/comment-template.php dort werden in der Funktion „get_comment_link()“ Links in den Kommentaren erzeugt die unsinnig sind. Es handelt sich dabei um den Direktlink zum Kommentar beim Datum, gut das wird nicht oft benötigt, aber Google folgt diesen Links → 404 🙁

Irgendwie stimmt da was mit der Nummerierung der Seiten nicht wenn keine Seiten benötigt werden, dann sehen die nämlich so aus:
…/postname/comment-page‑/#comment-2
entweder gehören die mit „1“ also/comment-page-1/oder besser ganz ohne, denn wozu die Seitenverzweigung in der URL wenn es nur eine Seite gibt!?

Falls ich eine Lösung finde werde ich sie hier ergänzen, hat schon jemand eine bitte hier kommentieren.

Update, Fehler gefunden. Es liegt nicht direkt an der oben erwähnten Funktion sondern an der Funktion get_page_of_comment() in der comment.php dort wird die Variable $args[‘page‘] unter besagten Umständen nicht befüllt. Eh ich mich jetzt ewig mit dieser Sache beschäftige habe ich als Workaround einfach eine weitere Abfrage in die get_comment_link eingefügt. Also wenn leer dann gib Link ohne comment-page‑, läuft jetzt bei Akitafreund ohne Probleme.

Öffne/wp-includes/comment-template.php suche in Zeile 472:
$args[‘page‘] = (!empty($in_comment_loop))
Nächste Zeile einfügen:

// olaf wenn immer noch leer dann ohne comment-page-
// see 	http://olaf-bosch.de/bug-in-paged-comments/
  if ( !$args['page'] )
    return user_trailingslashit( trailingslashit( get_permalink( $comment->comment_post_ID ) ), 'comment' ) . '#comment-' . $comment->comment_ID;

Das funktioniert aber nur mit Permalinks!!!

Ein Kommentar zu “Bug in paged comments?”

  1. Der Beitrag ist zwar schon bald fünf Jahre alt, aber damit habe ich gerade ein höchst aktuelles Problem gelöst. Chapeau dafür und danke!

    Thomas

Einen Kommentar schreiben

top