Taxonomy component

What is Taxonomy?

WordPress data objects, such as posts and users, can be grouped using taxonomy terms. A term is a grouping entity that exists in many-to-many relationships with other entities. A taxonomy is a grouping of terms, within which terms must be unique. WordPress ships with a number of built-in taxonomies, such as the hierarchical categories and the non-hierarchical tags. Since version 2.3, WordPress has also allowed plugins and themes to register custom taxonomies. A number of auxiliary WP features, like post formats and nav menus, are powered in part by taxonomy terms.

What does the Taxonomy component include?

The Taxonomy component covers:

  • The custom taxonomy API: register_taxonomy(), etc
  • Business functions for the creation, retrieval, updating, and deletion of taxonomy terms: wp_insert_term(), get_terms(), etc
  • Dashboard panels for managing taxonomy terms, such as edit-tags.php, and the parts of the Posts interface that are used to manage taxonomy term relationships, such as the Categories and Tags metaboxes

Ongoing projects

We have an ambitious taxonomy roadmap, and have been making incremental progress on a few large projects during the last few major WordPress releases. See ‘taxonomy’ posts on make/core for some background.

In WordPress 4.4, we’re beginning work on a few new projects:

  • Better data modeling and WP_Term #14162
  • Combining the wp_terms and wp_term_taxonomy tables #30262
  • Term meta #10142

Recent posts on the make/core blog

View all posts tagged taxonomy.

Recent posts on the make/test blog

View all posts tagged taxonomy.

183 open tickets in the Taxonomy component

183 open tickets defect (bug) enhancement feature request task (blessed)
5.2 1 4 0 0
Awaiting Review 76 57 9 1
Future Release 13 17 5 0

183 open tickets. Last 7 days: +2 tickets

34 tickets that have no replies

View list on Trac

  • #38265  Add term_relationship_id column to wp_term_relationships
  • #38278  Only query taxonomies assigned to the post types being queried
  • #39406  Make callback_args filterable in WP_Terms_List_Table
  • #39678  get_term_by slug with "0" as value
  • #39754  `_post_format_get_terms()` can overwrite names of terms in other taxonomies
  • #39969  add filter to end of post_categories_meta_box()
  • #40232  Could is_tax check through queried_terms instead of queried_object?
  • #40291  subcategory pagination no run
  • #40696  no chance to control wp_count_terms ()
  • #40757  Standardize Application of 'the_category' Filter
  • #41631  Same Term Not Added
  • #41702  Slug for Category or Tag should be generated automatically ui administration
  • #41776  wp_list_category array element 'exclude' better be called 'exclude_id'
  • #41878  No way to change the order of fields for taxonomy meta
  • #41882  Walker_CategoryDropdown does not wrap options inside HTML select element with wp_list_categories
  • #42005  filter get_terms_args and orderby meta_value_num not working as expected ui administration
  • #42104  Tax query transformations unintentionally filtered by 'terms_clauses'
  • #42572  Can't delete custom taxonomy tags from a post
  • #44088  Merged two if into single template
  • #44630  WP_Term_Query does not return all terms when 'number' and 'object_ids' are specified
  • #44854  Bulk action missing/hidden on taxonomies ui administration
  • #44969  Add support to limit results in get_objects_in_term()
  • #45085  different args passed to "term_name" and "term_{$field}" filters docs administration
  • #45092  WP_Query->is_category wrongly calculate current category when WP_Term is passed
  • #45163  get_term_by() should accept ID as a field
  • #45333  term_exists might fail if slugs are changed
  • #45393  categories don't work in brand-new wordpress instance (return 404)
  • #45722  add markup to highlight the active tag
  • #45938  Adding new term meta fails if column is wrapped in a conditional
  • #46166  wp_update_term sanitizes the description, removing all html
  • #46297  Unable to edit specific terms : rest_cannot_assign_term OR 403
  • #46338  taxonomy_meta_box_sanitize_cb_checkboxes: Warning: array_map(): Expected parameter 2 to be an array, string given
  • #46420  Warnings on front-end when trying to display the archive for a non-existent term of a custom taxonomy template
  • #46482  Non-hierarchical taxonomies using checkbox display are not saving in quick edit

5 tickets slated for 5.2

View list in Trac

  • #38545  Add span element to get_the_archive_title()
  • #40666  allow arbitrary HTML attributes on <a> produced by Walker_Category accessibility
  • #43345  term_exists() may return 0 which is not a text-documented return type
  • #43516  Allowing default category to be applied to all CPT associated to 'category' taxonomy
  • #43517  Adding support of default category term for custom taxonomies

183 open tickets

Open bugs: 90. View list on Trac

Help maintain this component

Component maintainers:

Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of core are always seeking to mentor others to impart their knowledge.

Want to help? Start following this component! Adjust your notifications here. Feel free to dig into any ticket.

Contributors following this component: