01
Jan 17

Eigenes Tweet-Archive mit Hilfe von OZHs Plugins [Update: 2018-01-12]

UPDATE: Diese Anleitung funktioniert nicht mehr.

Man nehme: eine neue WordPress-Instanz, das Plugin Ozh‘ Tweet Archiver, das passende Theme Ozh‘ Tweet Archive und bei mehr als 3600 Tweets das eigene Twitter-Archiv (Im Twitter-Account unter „Dein Twitter Archiv„) und ein Import-Script et voilà: ein Backup der eigenen Tweets unter eigenen Kontrolle.

Btw.: Merci beaucoup Ozh Richard (Blog) for sharing your awesome work!

Das Theme kann und sollte man anpassen – sinnvoll ist es, zumindestens die Kontaktdetails und den Twitternamen in der Datei header.php austauschen ;). Auch bietet es sich an das im Theme-Ordner „img“ gelegene Avatar-Bild „new-profile.jpg“ mit dem eigenen Avatar-Bild zu ersetzen. Die Header-Grafik ist in der Datei 1500×500.png abgelegt.

Ein eigenes Kopfbild kann man schnell z.B. mit den Onlinetools ZenBG- Background Generator, dem Unique Gradient Generator oder dem Trianglify Generator erstellen.

Wer keine Angst vor CSS hat1, der wird ziemlich einfach Anpassungen bzgl. der Farben oder anderen Formatierungen in der Datei style.css vornehmen können. So wollte ich z.B. eine einheitliche Schriftgröße für alle Tweets und nicht, wie voreingestellt, unterschiedliche Größen abhängig von der Länge.

.tweet.short.is_no_reply > p,
.tweet.medium.is_no_reply > p,
.tweet.long.is_no_reply > p, 
body.single #tweets .tweet {
  font-size:16px;
  line-height:20px;
 }

Einfacher wäre es natürlich, die Formatierung komplett zu löschen ;). Aber wer weiß, ob ich es nicht vielleicht doch einmal anders haben mag und auf diese Art und Weise weiß ich noch, wie die Klassen heißen.

Retweets hervorheben

Was ich mir nach der Einrichtung wünschte, war eine Hervorhebung von Retweets. Da dies bisher nicht vorhanden war, habe ich ein wenig an der Datei functions.php herumgedoktort und die Funktion otat_get_tweet_style() um eine simple Abfrage nach dem String „RT“ in Tweets erweitert.

function otat_get_tweet_style() {
    $tweet       = get_the_title();    
    $firstrt  = strpos( $tweet, "RT" );
    if ( $firstrt === 0  ) {
        $is_rt = "is_rt";
    } elseif ($firstrt > 0) {
        $is_rt = "is_inline_rt";
    }     else $is_rt = "no_rt";

    $title    = strlen( $tweet );
    $is_reply = ozh_ta_is_reply_or_not( false );
    if( $title > 100 ) {
        $style = 'long';
    } elseif ( $title > 50 ) {
        $style = 'medium';
    } else {
        $style = 'short';
    }
    return "$style $is_reply $is_rt";

Das klappt super für die Startseite. Die Retweets formatiere ich über die Klasse .tweet.is_rt. Für das Archiv muss ich dies nochmal überprüfen bzw. wahrscheinlich wo anders anpassen.

Sobald ich das Gefühl habe, dass es funktioniert, werde ich auch zusehen, das ganze vernünftig auf GitHub zu Verfügung zu stellen.

Noch ein kleiner Hinweis: Natürlich dauert der Import von vielen Tweets eine ganze Weile. Es werden immer 15 Tweets am Stück importiert und die Seite läd sich etwa alle 5 Sekunden neu für die nächsten 15 – you can do the math ;).

Wer sich nun auf die Suche nach meinem Archiv begibt, den muss ich leider enttäuschen. Mit Hilfe eines Bitnami-WordPress-Stacks habe ich das Archiv lokal angelegt. Dazu vielleicht in einem späteren Post mehr.


  1. oder z.B. DuckDuckGos Cheat-Sheet-Funktion nutzt, die über den Suchergebnissen angezeigt wird, z.B. für „text-decoration css„ []