Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/get term


Get all Term data from database by Term ID. To retrieve term data by name, slug or ID, use get_term_by() instead

The usage of the get_term function is to apply filters to a term object. It is possible to get a term object from the database before applying the filters.

$term ID must be part of $taxonomy, to get from the database. Failure, might be able to be captured by the hooks. Failure would be the same value as $wpdb returns for the get_row method.

There are two hooks, one is specifically for each term, named 'get_term', and the second is for the taxonomy name, 'term_$taxonomy'. Both hooks gets the term object, and the taxonomy name as parameters. Both hooks are expected to return a Term object.

'get_term' hook - Takes two parameters the term Object and the taxonomy name. Must return term object. Used in get_term() as a catch-all filter for every $term.

'get_$taxonomy' hook - Takes two parameters the term Object and the taxonomy name. Must return term object. $taxonomy will be the taxonomy name, so for example, if 'category', it would be 'get_category' as the filter name. Useful for custom taxonomies or plugging into default taxonomies.


<?php get_term$term$taxonomy$output$filter ?>


(integer|object) (required) If integer, will get from database. If object will apply filters and return $term.
Default: None
(string) (optional) Taxonomy name that $term is part of.
(string) (optional) Constant OBJECT, ARRAY_A, or ARRAY_N
Default: OBJECT
(string) (optional) default is raw or no WordPress defined filter will applied.
Default: 'raw'

Return Values

Term Row from database. Will return null if $term is empty. If taxonomy does not exist then WP_Error will be returned.

The fields returned are:

  • term_id (int)
  • name
  • slug
  • term_group (int)
  • term_taxonomy_id (int)
  • taxonomy
  • description
  • parent (int)
  • count (int)

Warning: string vs integer confusion! Note that this function returns numeric fields as integers and not as strings. This is the opposite behavior of the get_terms() function, which does return numeric fields as strings.


Get Term offers some handy information, but unfortunately lacks a link value.

$term = get_term( $term_id, $taxonomy );

Gives you term slug: e.g.: term-slug-example

$slug = $term->slug;

Gives you term name: e.g. Term Name Example

$name = $term->name;

Gives you term description: e.g. This is my new cool custom term.

$desc = $term->description;


Change Log

Since: 2.3.0

Source File

&get_term() is located in wp-includes/taxonomy.php.


See also index of Function Reference and index of Template Tags.