Hilfe! Trackback-Länge

Weiß jemand, wie man bei WordPress die Länge des Textes, den der Trackback an das Empfängerblog sendet, einstellen kann? Die Versionen 1.5 bis 2.0.2 scheinen jedenfalls den KOMPLETTEN Beitrag zu senden, was wohl auch für den Empfänger nicht immer lustig ist. Jedenfalls ist es nicht sinnvoll.

This entry was posted in Blogtech. Bookmark the permalink. Both comments and trackbacks are currently closed.

4 Comments

  1. Posted Fri, 10. March 2006 at 7:52 pm | Permalink

    Jein. Also in den Einstellungen scheint es nichts zu geben wo man es einstellen könnte wie lang so ein Trackback sein soll.

    Die Trackbacks werden in der Datei wp-includes/functions-post.php gesendet. Wenn ich den Code richtig interpretiere, dann wird, falls vorhanden, der Excerpt gesendet. Ansonsten die ersten 255 Zeichen des Beitrags.

    [Zeile 626 - 627: Exakt werden 252 Zeichen des Eintrags plus 3 Punkte = 255 Zeichen gesendet]

    Man möge mich korrigieren und benachrichtigen falls ich falsch liege.

  2. Posted Sat, 11. March 2006 at 10:49 am | Permalink

    Ich kann ja überhaupt kein php, lese aber ein bisschen weiter unten:

    if (empty($post->post_excerpt))
    $excerpt = apply_filters('the_content', $post->post_content);
    else
    $excerpt = apply_filters('the_excerpt', $post->post_excerpt);

    was bei mir den verdacht aufkommen lässt, dass aus irgendwelchen gründen der vollständige ‘content’ versendet wird.

  3. Posted Sat, 11. March 2006 at 8:17 pm | Permalink

    Und noch etwas weiter unten (Zeile 711 bzw. 713):
    $excerpt = substr($excerpt, 0, 252) . ‘…’;

    In $excerpt steht entweder der Excerpt oder der komplette Blogeintrag. $excerpt wird dann in Zeile 711 bzw 713 (je nachdem ob es ein interner Trackback ist oder nicht) auf 255 Zeichen gekürzt.

    Falls wirklich dann noch Zweifel bestehen, dann kann man ggf. von Hand in der Datei wp-include/functions.php nacharbeiten.
    Ab Zeile 879 werden die Trackbacks versendet. Dabei steht in der Variablen $excerpt der Text der als Trackback versendet wird.
    Fügt man nach Zeile 887 ($excerpt = urlencode($excerpt);) eine neue Zeile mit $excerpt = substr($excerpt, 0, 255); ein, dann wird definitiv kein Text versendet der länger als 255 Zeichen ist.

    In Zeile 904-913 steht auch noch ein auskommentierter Debug-Code. Wenn man die /* und */ entfernt, wird eine Datei “trackback.log” angelegt in der alle Daten abgespeichert werden. Ich kann jetzt aber nicht ganz genau sagen wo diese Datei abgelegt wird. Wahrscheinlich im Root-Verzeichnis.
    Mit etwas PHP-Wissen kann man dise Logdatei um weitere Variablen (zB Text des Trackbacks, URLs usw) erweitern.

  4. Posted Sun, 12. March 2006 at 1:51 pm | Permalink

    Hm, grmblpfm, irgendwie komme ich da nicht weiter. Warum verschickt der Blödmann hier den kompletten Text als Trackback? Und warum kommt im WordPresstesttrackbackblog nix an?