Wordpress - How to get a taxonomy term name by the slug?

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:

term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count

The codex does a great job explaining this function: http://codex.wordpress.org/Function_Reference/get_term_by


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 ) ) {
        break;
    }
}
$term_id = $term_object->name;

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

Result

The Term ID is: 32
object(WP_Term)
  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.

Tags:

Slug

Terms