WP Twitter Tools – Tabelle automatisch bereinigen

Da ich auch das WordPress Plugin Twitter Tools von Alex King [1] nutze, ist mir aufgefallen, dass die Tabelle in der die Tweets abgelegt werden natürlich schnell anwächst, wenn man häufig twittert.

Twitter Tools ist ein WordPress-Plugin welches eine Verbindung zwischen Twitter [2] und einem WordPress-Blog schafft.
Man kann jeden neuen Artikel in Twitter ankündigen und auch die eigenen Tweets im Blog, z.B. in der Siderbar als Widget oder als Artikel mit der Wahl zwischen Einzelartikel oder täglicher Zusammenfassung, veröffentlichen.

Wenn man die Funktion zur Anzeige der letzten X Tweets in der Sidebar nicht nutzt, ist es nicht nötig, dass in der WordPress-Datenbank alle Tweets seit Aktivierung des Plugins gespeichert werden.

Also habe ich mir überlegt, dass es doch sinnvoll wäre die Tabelle automatisch zu löschen und zwar alle Tweets die älter als X Tage sind.
Dazu habe ich folgende Zeilen PHP zusammengefrickelt und in die functions.php meines Themes gelegt.

1
2
3
4
5
6
7
8
9
function aktt_clean($days)
{
   $days = "-" . $days . " days";
   $deldate = date("Y-m-d 00:00:00", strtotime($days));
   $sql = "DELETE FROM wp_ak_twitter WHERE tw_created_at <= '$deldate'"; 
   $result=mysql_query($sql);
}
 
aktt_clean(7);

Mit dem Aufruf von ‘aktt_clean(X)’ wird die Funktion aufgerufen und X steht hier für die Anzahl der Tage, die ein Tweet mindestens zurückliegen muss, um gelöscht zu werden.
In o.g. Beispiel werden also alle Tweets, die älter als 7 Tage sind, aus der Tabelle gelöscht.

Trotz dieser Funktion, bleibt noch die Möglichkeit Tweets als Artikel zu veröffentlichen.

Sicherlich ist die Sache noch ausbaufähig, so dass nicht ständig, bei jedem Aufruf einer Seite des Blogs, die Funktion ausgeführt wird, sondern nur 1 mal Tag. Aber die Last an der Datenbank ist hier nicht so groß, dass diese Datenbank-Abfrage vermutlich nicht so sehr ins Gewicht fällt.

[1] WordPress Plugins | alexking.org
[2] Max @ Twitter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.