So erhalten Sie eine WordPress-Taxonomie nach Begriffs-ID
Gelegentlich, wenn Sie an einem Projekt arbeiten, gibt es Zeiten, in denen es schön wäre, eine API-Funktion zu haben, die hilft, das zu erreichen, was getan werden muss. Ein typisches Beispiel: die Möglichkeit, eine Taxonomie nach Begriffs-ID abzurufen.
Zugegeben, es ist nicht schwer, aber die Möglichkeit zu haben, die Informationen aus bereits vorhandenen Funktionen abzurufen, ist immer schön.
Aber wenn das nicht möglich ist, schreiben wir unseren eigenen Weg, oder?
Rufen Sie eine Taxonomie nach Begriffs-ID ab
Wenn ich mir vorgenommen habe, so etwas zu tun, lasse ich die Idee im Allgemeinen von ein paar anderen Entwicklern ausführen, um sicherzustellen, dass ich keine Funktion übersehe, die im WordPress-Kern vorhanden ist und von der ich nur nichts weiß.
(Das passiert häufiger, als Sie vielleicht denken, aber das ist für mich vielleicht ein größeres Problem als alles andere. Trotzdem ist WordPress ein großes Stück Software :).
Der Anwendungsfall für so etwas ist einfach:
- Ich habe eine Begriffs-ID, die auf andere Weise in der Datenbank gespeichert wurde (z. B. ein ausgewähltes Element an anderer Stelle in der Anwendung, z. B. das Dashboard).
- Ich möchte den mit dieser Begriffs-ID verknüpften Taxonomienamen anzeigen.
Konzeptionell stelle ich mir das als eine Art Reverse Look vor. Normalerweise können wir eine Taxonomie nehmen und ihre Begriffe nachschlagen. Aber eine Taxonomie nach Begriffs-ID zu verwenden, geht in die andere Richtung.
Glücklicherweise ist es einfach genug, wenn Sie eine vorhandene API huckepack nehmen. Schau es dir an :
<?php
/**
* Retrieves the taxonomy name associated on the specified $term_id.
*
* @access private
* @param int $term_id The term ID from which to retrieve the taxonomy name.
* @return string $taxonomy The name of the taxaonomy associated with the term ID.
*/
private function get_taxonomy_by_term_id( $term_id) {
// We can't get a term if we don't have a term ID.
if (0 === $term_id || null === $term_id) {
return;
}
// Grab the term using the ID then read the name from the associated taxonomy.
$taxonomy = '';
$term = get_term( $term_id );
if (false !== $term) {
$taxonomy = $term->taxonomy;
}
return trim( $taxonomy );
}
Der Code sollte leicht verständlich sein (wenn nicht die Kommentare über der Funktion), aber er gibt entweder eine leere Zeichenfolge oder den Taxonomienamen basierend auf der Begriffs-ID zurück.
Da get_term ein WP_Term- Objekt abruft, können wir uns die Taxonomie-Eigenschaft des Begriffs ansehen, um den Namen zu ermitteln. Ich kürze dann die Zeichenfolge für alle Fälle (wenn ich mit dem Code einer anderen Person arbeite, weiß ich nie, ob er aufgefüllt ist oder nicht, und ich möchte keine überflüssigen Zeichen).
Unabhängig davon steht Ihnen jetzt eine Funktion zur Verfügung, um den Taxonomienamen anhand der Begriffs-ID zu erfassen. Wenn eine leere Zeichenfolge zurückgegeben wird, wurde kein Taxonomiename gefunden.