WordPress Terms mit PHP erstellen, aktualisieren, löschen und bearbeiten.
Marc Wagner
Februar 6, 2022
Terms lassen sich über PHP erstellen, abfragen und bearbeiten. Hierfür stellt WordPress Funktionen zur Verfügung.
Abfragen eines WordPress Terms mit PHP #
Um einen Term abzufragen, kannst du die Funktion get_term($term_id, $taxonomy) verwenden. Hierfür benötigst du lediglich die ID und die Taxonomie.
$term_id = 10;
$taxonomy = "post_tag";
/**
* @var \WP_Term $Term
*/
$Term = get_term($term_id, $taxonomy);
Abfragen eines WordPress Terms bei Slug, Name oder Term ID #
Über get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = ‘raw’) kannst du einen Term auch über den Slug, den Namen oder die ID abfragen.
/**
* WordPress Term abfragen mit dem Slug
* @var \WP_Term|array|false $Term
*/
$Term = get_term_by("slug", "ich-bin-ein-slug", "post_tag");
/**
* WordPress Term abfragen mit dem Namen
* @var \WP_Term|array|false $Term
*/
$Term = get_term_by("name", "Ich bin ein Slug", "post_tag");
/**
* WordPress Term abfragen mit dem Namen
* @var \WP_Term|array|false $Term
*/
$Term = get_term_by("term_id", 10, "post_tag");
Abfragen aller WordPress Terms von einer Taxonomie #
Mithilfe von get_terms($args) kannst du alle Terms einer Taxonomie abfragen.
$args = array(
'taxonomy' => 'post_tag',
'hide_empty' => false
);
/**
* @var array<\WP_Term> $Terms
*/
$Terms = get_terms($args);
Einfügen eines neuen WordPress Terms bei einer Taxonomie #
Neue Terms lassen sich über wp_insert_term($term, $taxonomy, $args = array()) hinzufügen. Falls der Term bereits existiert, wird dieser aktualisiert.
/**
* Argumente können optional angegeben werden
*/
$args = array(
'description' => 'Beschreibung',
'parent' => 0,
'slug' => ''
);
/**
* Neuen Term erstellen in der Taxonomie post_tag
*/
$term_id = wp_insert_term('Ich bin ein neuer Term', 'post_tag', $args);
Löschen eines Terms in WordPress über PHP #
Terms lassen sich auch über PHP schnell und unkompliziert entfernen. Hierzu existiert die Funktion wp_delete_term($term_id,$taxonomy).
/**
* Löscht den Term mit der Term ID 10 in der Taxonomie post_tag
*/
$result = wp_delete_term(10, 'post_tag');
Abfragen von Metadaten eines Terms #
Auch Terms können wie Posts Metadaten enthalten. Diese lassen sich über get_term_meta($term_id, $meta_key, $single) abfragen.
/**
* Gibt einen einzelnen Wert zurück
* @var string|int|mixed $meine_meta_daten
*/
$meine_meta_daten = get_term_meta(10,'meine_meta_daten', true);
/**
* Gibt ein Array zurück
* @var array $meine_meta_daten
*/
$meine_meta_daten = get_term_meta(10,'meine_meta_daten');
Löschen von Metadaten eines Terms in WordPress #
Metadaten von Terms lassen sich in WordPress über delete_term_meta($term_id, $meta_key, $meta_value = ”) löschen.
$result = delete_term_meta(10, 'meine_meta_daten');
Metadaten eines Terms aktualisieren/anlegen über PHP #
Um bereits existierende Metadaten eines Terms zu aktualisieren, wird die Funktion update_term_meta($term_id, $meta_key, $meta_value, $prev_value = ”) verwendet. Falls die Daten noch nicht exisiteren, werden diese angelegt.
$result = update_term_meta(10, 'meine_meta_daten', 'das wird ausgegeben');
Artikel von:
Marc Wagner
Hallo, Marc hier. Ich bin der Gründer von Forge12 Interactive und bereits seit über 20 Jahren leidenschaftlich dabei Webseiten, Onlineshops, Anwendungen und SaaS-Lösungen für Unternehmen zu entwickeln. Vor der Gründung habe ich bereits in Börsen notierten Unternehmen gearbeitet und mir allerlei Wissen angeeignet. Dieses Wissen möchte ich nun an meine Kunden weitergeben.