get_taxonomies( array $args = array(), string $output = 'names', string $operator = 'and' )
Retrieves a list of registered taxonomy names or objects.
Description Description
Parameters Parameters
- $args
- 
					(array) (Optional) An array of key => valuearguments to match against the taxonomy objects.Default value: array() 
- $output
- 
					(string) (Optional) The type of output to return in the array. Accepts either taxonomy 'names' or 'objects'. Default value: '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 value: 'and' 
Return Return
(string[]|WP_Taxonomy[]) An array of taxonomy names or objects.
Source Source
File: wp-includes/taxonomy.php
function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' ) {
	global $wp_taxonomies;
	$field = ( 'names' == $output ) ? 'name' : false;
	return wp_filter_object_list( $wp_taxonomies, $args, $operator, $field );
}
			Expand full source code Collapse full source code View on Trac
Changelog Changelog
| Version | Description | 
|---|---|
| 3.0.0 | Introduced. | 
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
When querying the taxonomies with a specific post type like “posts” in this case, only the taxonomies connected only with this post type will be shown. If a taxonomy is attached to multiple post types it will not be listed. Core Trac Ticket 27918
The alternative is to use
get_object_taxonomies().Display a list of only public custom taxonomies — will not list include WordPress built-in taxonomies (e.g., categories and tags):
<?php $args = array( 'public' => true, '_builtin' => false ); $output = 'names'; // or objects $operator = 'and'; // 'and' or 'or' $taxonomies = get_taxonomies( $args, $output, $operator ); if ( $taxonomies ) { echo '<ul>'; foreach ( $taxonomies as $taxonomy ) { echo '<li>' . $taxonomy . '</li>'; } echo '</ul>'; } ?>Expand full source codeCollapse full source code
Display a list all registered taxonomies:
<?php $taxonomies = get_taxonomies(); if ( ! empty( $taxonomies ) ) : ?> <ul> <?php foreach ( $taxonomies as $taxonomy ) { echo '<li>' . $taxonomy . '</li>'; } ?> </ul> <?php endif; ?>Display the plural name of a specific taxonomy (and setting the output to be
'object'rather than the default'array‘):<?php $args = array( 'name' => 'genre' ); $output = 'objects'; // or names $taxonomies= get_taxonomies( $args, $output ); if ( $taxonomies ) { foreach ( $taxonomies as $taxonomy ) { echo '<div>' . $taxonomy->labels->name . '</div>'; } } ?>This can be used in certain use cases as if you need to find the taxonomy from a term slug
// We want to find the Taxonomy to this slug. $term_slug = 'myterm'; $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; } } //Get the taxonomy!! echo $term_object->taxonomy . '<br>'; // You can also retrieve other thing of the term: echo $term_object->name . '<br>'; //term name echo $term_object->term_id . '<br>'; // term id echo $term_object->description . '<br>'; // term description // See all options by dumping the $term_object: //var_dump( $term_object );Expand full source codeCollapse full source code