If I know a taxonomy term slug, how can I get that term's name?

  • are you wanting to create a link, title, ??? Commented May 5, 2011 at 5:10

3 Answers 3


The function you are looking for is get_term_by. You would use it as such:

<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>

This results in $term being an object containing the following:


The codex does a great job explaining this function: https://developer.wordpress.org/reference/functions/get_term_by/

  • you beat me to it. This is exactly what i would do to. Commented May 5, 2011 at 5:16
  • 1
    What if you don't have the taxonomy slug?
    – EkoJR
    Commented May 7, 2017 at 1:42
  • You can use get_term( $term_id ); if you only have the ID.
    – Gavin
    Commented Jul 11, 2020 at 9:32
  • 1
    Ne aware this is not how you get taxonomy name, this is how you get term name.
    – jave.web
    Commented May 2, 2021 at 18:00

This provides an answer when the taxonomy is unavailable/unknown.

In my case, when using get_term_by, there were some instances where there was only the Term Slug ( No Term ID or Taxonomy ). Which led me here. However, the answer provided didn't quite resolve my issue.

Solution for empty $taxonomy

// We want to find the ID to this slug.
$term_slug = 'foo-bar';
$taxonomies = get_taxonomies();
foreach ( $taxonomies as $tax_type_key => $taxonomy ) {
    // If term object is returned, break out of loop. (Returns false if there's no object)
    if ( $term_object = get_term_by( 'slug', $term_slug , $taxonomy ) ) {
$term_id = $term_object->name;

echo 'The Term ID is: ' . $term_id . '<br>';
var_dump( $term_object );


The Term ID is: 32
  public 'term_id' => int 32
  public 'name' => string 'Example Term'
  public 'slug' => string 'example-term'
  public 'term_group' => int 0
  public 'term_taxonomy_id' => int 123
  public 'taxonomy' => string 'category'
  public 'description' => string ''
  public 'parent' => int 0
  public 'count' => int 23
  public 'filter' => string 'raw'

As follows, the concept gets an array of $taxonomies, loops through the array, and IF get_term_by() returns a match, it then immediately breaks out of the foreach loop.

Note: I tried searching for a method to get the associated taxonomy ( ID or Slug ) from Term Slug, but unfortunately I am unable to find anything available in WordPress.


thanks, this worked for me.

I created a function and use it again and again as needed.

function helper_get_taxonomy__by_slug($term_slug){
    $term_object = "";
    $taxonomies = get_taxonomies();
    foreach ($taxonomies as $tax_type_key => $taxonomy) {
        // If term object is returned, break out of loop. (Returns false if there's no object);
        if ($term_object = get_term_by('slug', $term_slug, $taxonomy)) {
            $term_object = "Warn! Helper taxonomy not found.";
    return $term_object;
  • You should return the same types as get_term_by: (WP_Term|array|false) WP_Term instance (or array) on success. Will return false if $taxonomy does not exist or $term was not found.
    – xnagyg
    Commented May 25, 2020 at 17:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.