The get_taxonomies() WordPress PHP function retrieves a list of registered taxonomy names or objects.
Usage
get_taxonomies( $args, $output, $operator )
Example:
$args = array( 'public' => true, '_builtin' => false ); $output = 'names'; $operator = 'and'; $taxonomies = get_taxonomies( $args, $output, $operator );
Parameters
- $args (array) – Optional. An array of key => value arguments to match against the taxonomy objects. Default:
array()
- $output (string) – Optional. The type of output to return in the array. Accepts either taxonomy ‘names’ or ‘objects’. Default:
'names'
- $operator (string) – Optional. The logical operation to perform. Accepts ‘and’ or ‘or’. ‘or’ means only one element from the array needs to match; ‘and’ means all elements must match. Default:
'and'
More information
See WordPress Developer Resources: get_taxonomies()
Examples
Display a list of only public custom taxonomies
This example will display a list of only public custom taxonomies, excluding built-in WordPress taxonomies (e.g., categories and tags).
$args = array( 'public' => true, '_builtin' => false ); $output = 'names'; $operator = 'and'; $taxonomies = get_taxonomies( $args, $output, $operator ); if ( $taxonomies ) { echo '<ul>'; foreach ( $taxonomies as $taxonomy ) { echo '<li>' . $taxonomy . '</li>'; } echo '</ul>'; }
Get taxonomies for a specific post type
This example shows how to get taxonomies connected only with the ‘post’ post type.
$args = array( 'name' => array( 'post', ) ); $taxonomies = get_taxonomies( $args );
Display the plural name of a specific taxonomy
This example displays the plural name of the ‘genre’ taxonomy.
$args = array( 'name' => 'genre' ); $output = 'objects'; $taxonomies= get_taxonomies( $args, $output ); if ( $taxonomies ) { foreach ( $taxonomies as $taxonomy ) { echo '<div>' . $taxonomy->labels->name . '</div>'; } }
Display a list of all registered taxonomies
This example displays a list of all registered taxonomies.
$taxonomies = get_taxonomies(); if ( ! empty( $taxonomies ) ) { echo '<ul>'; foreach ( $taxonomies as $taxonomy ) { echo '<li>' . $taxonomy . '</li>'; } echo '</ul>'; }
Find the taxonomy from a term slug
This example demonstrates how to find the taxonomy for a given term slug.
$term_slug = 'myterm'; $taxonomies = get_taxonomies(); foreach ( $taxonomies as $tax_type_key => $taxonomy ) { // Your logic here }