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');
Wie Forge12 mit solchen Themen arbeitet
Forge12 betreibt und verantwortet umsatzkritische WordPress- und WooCommerce-Systeme im laufenden Betrieb. Bevor wir Systeme übernehmen oder weiterentwickeln, analysieren wir sie vollständig – technisch, strukturell und betrieblich. Das System Audit ist der Einstiegspunkt für jede Zusammenarbeit.
Artikel von:
Marc Wagner
Marc Wagner ist Gründer der Forge12 Interactive GmbH und verantwortlich für Betrieb, Absicherung und Weiterentwicklung umsatzkritischer WordPress- und WooCommerce-Systeme.
Seit über 20 Jahren arbeitet er an Websites, Online-Shops und individuellen Softwarelösungen – vom Mittelstand bis zu Strukturen börsennotierter Unternehmen. Sein Fokus liegt nicht auf Projekten, sondern auf dauerhaftem Betrieb: stabile Systeme, klare Verantwortlichkeiten und technische Entscheidungen mit wirtschaftlicher Konsequenz.
Bei Forge12 begleitet er Unternehmen, die ihre Systeme nicht nur bauen, sondern langfristig sicher betreiben und automatisieren wollen.

