Das Anlegen eines neuen Werts klappt mit folgender Funktion:
<?php
function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = false) {
...
}
?>
Es gilt:
Rückgabewerte:
- Im Falle eines Erfolgs wird die Meta-ID aus der Datenbank zurückgegeben.
- Im Fehlerfall der boolsche Wert
false
. - Wurde
$unique
auftrue
gesetzt wirdfalse
zurückgegeben, wenn bereits ein Schlüssel mit einem Wert existiert (es wird kein Update durchgeführt).
add_metadata()
führt einen SQL-Insert-Befehl aus. Für den Tabellen-Namen wird $meta_type
herangezogen. Es wird davon ausgegangen, dass die Tabelle {$prefix}{$meta_type}meta
sowie die Spalte {$meta_type}_id
existiert.
Interessanter als die Funktion add_metadata()
sind die WordPress-Internen Funktionen, die darauf zurückgreifen. Diese sind:
Schauen wir uns in einem Beispiel edie zuerst genannte an. Dann wird auch verständlicher, wie alles funktioniert. In WordPress ist folgende Funktion definiert:
Ein Beispielaufruf wäre:
Hinweis
Wenn Nicht-Skalare Werte (also z.B. Array oder Objekte) gespeichert werden, wird WordPress diese zuerst serialisieren und dann in die Datenbank speichern. Umgekehrt werden diese natürlich wieder ins ursprüngliche Format zurückgewandelt, falls ein Datensatz ausgelesen wird. Lesen Sie dazu auch die Funktionsbeschreibung vonserialize()
1undunserialize()
2 bei PHP.net, wenn Sie besondere Daten abspeichern wollen.