get_taxonomies( array $args = array(), string $output = 'names', string $operator = 'and' ): string[]|WP_Taxonomy[]
Retrieves a list of registered taxonomy names or objects.
Contents
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'
.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'
.Default:
'and'
Return
string[]|WP_Taxonomy[] An array of taxonomy names or objects.
More Information
Parameter $args
is an array of key -> value arguments to match against the taxonomies. Only taxonomies having attributes that match all arguments are returned.
- name
- object_type (array)
- label
- singular_label
- show_ui
- show_tagcloud
- show_in_rest
- public
- update_count_callback
- rewrite
- query_var
- manage_cap
- edit_cap
- delete_cap
- assign_cap
- _builtin
Returned value is an array, a list of taxonomy names or objects. If returning names, you will get an array of the taxonomy names such as
Array ( [special_taxonomy] => special_taxonomy [custom_taxonomy] => custom_taxonomy )
If returning objects, you will get an array of objects such as:
Array ( [special_taxonomy] => stdClass Object [custom_taxonomy] => stdClass Object )
wherein each object will contain the following fields:
stdClass Object ( [hierarchical] => [update_count_callback] => [rewrite] => [query_var] => [public] => [show_ui] => [show_tagcloud] => [_builtin] => [labels] => stdClass Object ( [name] => [singular_name] => [search_items] => [popular_items] => [all_items] => [parent_item] => [parent_item_colon] => [edit_item] => [view_item] => [update_item] => [add_new_item] => [new_item_name] => [separate_items_with_commas] => [add_or_remove_items] => [choose_from_most_used] => [menu_name] => [name_admin_bar] => ) [show_in_nav_menus] => [cap] => stdClass Object ( [manage_terms] => [edit_terms] => [delete_terms] => [assign_terms] => ) [name] => [object_type] => Array () [label] )
Source
File: wp-includes/taxonomy.php
.
View all references
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 );
}
Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Display a list of only public custom taxonomies — will not list include WordPress built-in taxonomies (e.g., categories and tags):
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 the plural name of a specific taxonomy (and setting the output to be
'object'
rather than the default'array
‘):Display a list all registered taxonomies:
This can be used in certain use cases as if you need to find the taxonomy from a term slug
get_taxonomies
fails when we have to retrieve taxonomies which have multiple post types mapped.This will return empty array
Get only public taxonomies by post type that are displayed on the admin nav menu
The typical response will look like this: