18.1. Metadaten anlegen

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:

You’re not allowed to see this content. Please log in first.

Rückgabewerte:

  • Im Falle eines Erfolgs wird die Meta-ID aus der Datenbank zurückgegeben.
  • Im Fehlerfall der boolsche Wert false.
  • Wurde $unique auf true gesetzt wird false 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:

You’re not allowed to see this content. Please log in first.

Schauen wir uns in einem Beispiel edie zuerst genannte an. Dann wird auch verständlicher, wie alles funktioniert. In WordPress ist folgende Funktion definiert:

You’re not allowed to see this content. Please log in first.

Ein Beispielaufruf wäre:

You’re not allowed to see this content. Please log in first.

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 von serialize() 1und unserialize()2 bei PHP.net, wenn Sie besondere Daten abspeichern wollen.

  1. http://php.net/manual/de/function.serialize.php ↩︎
  1. http://php.net/manual/de/function.unserialize.php ↩︎