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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

Ein Beispielaufruf wäre:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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 ↩︎