[PHP] WordPress-Plugin – Tutorial zum Nutzen der Datenbank

Wie schon vor ein paar Tagen habe ich nach einem super Tutorial ein kleines Plugin geschrieben um automatisch eine Bildergallerie zu schrieben.

Da ich jetzt hier schon alles umbaue und auf WordPress 2.0 umstelle habe ich auch gerade den letzten eingehackten Code in ein Plugin verfrachtet.

Nur dafür musste ich Datenzwischenspeichern.
Bisher habe ich das in einer eigenen Tabelle gemacht, aber das ist ja nicht fein wenn wir das jetzt in nem kleinen Plugin mit einbauen.
Also ein bisschen in die anderen Plugins geschielt (solche kleinen wie wp-icq-status sind da immer sehr hilfreich) und dann die WordPress-Codex-Seiten durchwühlt.
Der Trick nennt sich get_option und update_option.

Das Ergebnis sieht nun so aus: (besprochen wird es weiter unten)

< ?php
/*
Plugin Name: Spruch
Plugin URI: http://www.zeeman.de/mull/php-wordpressplugin-tutorial-zum-nutzen-der-datenbank
Description: Ein Plugin welches einen Spruch anzeigt und ggf aktualisiert
Author: Sebastian Just
Version: 1.0
Author URI: http://www.zeeman.de
*/

function spruch()
{
$row = get_option('spruch');

$gueltigbis = strtotime("+1 hour", $row["Timestamp"]);

if ( time() > $gueltigbis )
{
$handle = fopen ("http://domail.tld/projekte/spruch.php", "r");

if ($handle ) {
$buffer = fgets($handle); //Und zu einer langen Wurst machen
//Funktion liest immer bis Zeilenende
fclose($handle);

$row["Text"] = $buffer;
$row["Timestamp"] = time();
update_option('spruch',$row);
}
}

echo $row["Text"];
}
?>

Der Kommentarkopf sollte jedem (angehenden :-D) Pluginautor bekannt sein.
Sonst erkennt WordPress die .php-Date nicht als Plugin.

Die ganze Aktion ist jetzt in einer Funktion gekapselt und wird nicht über einen Hook aufgerufen.
Stattdessen wird einfach der Text dort ausgegeben, wo die Funktion aufgerufen wird.

Aber nun zur Datenbank.
Mit get_option($optionennamen) laden wir erstmal die alten Einstellungen.
Es kann auch (wie man hier sieht) ein komplettes Array als Einstellunge gespeichert werden.

Nachdem halt die Einstellungen wieder geladen wurden wird überprüft, ob der Spruch 1h alt ist.
Wenn dem so ist, wird versucht die andere .php-Datei von meinem Heim-Webserver zu laden.
Diese Datei enthält nur einen Zufallspruch in plaintext.

Nachdem dieser Text im buffer ist, wird wieder ein Einstellungsarray zusammengebaut und mit update_option gespeichert.
Würde die Einstellung nicht funktionieren, so würde WP automatsich die Einstellung als neuen Eintrag in der DB speichern.

Am Ende wird der Text (entweder der neue oder noch der alte) ausgegeben.

Nur man sollte bitte eins bedenken.
Ein paar Zeilen Text stören mit Sicherheit nicht in der WP-Einstellungs-DB.
Sobald aber mehrere Texte gespeichert werden sollen, so sollte man dann doch auf eine eigene Tabelle ausweichen.

Eine Antwort auf „[PHP] WordPress-Plugin – Tutorial zum Nutzen der Datenbank“

Schreibe einen Kommentar