Taxonomy Metadata

Infrastructure plugin which implements metadata functionality for taxonomy terms, including for tags and categories.

Author:mitcho (Michael Yoshitaka Erlewine), sirzooro (profile at wordpress.org)
WordPress version required:3.0
WordPress version tested:4.3.1
Plugin version:0.5
Added to WordPress repository:11-03-2010
Last updated:22-09-2015
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:92
Rated by:9
Plugin URI:
Total downloads:221 544
Active installs:7 000+
plugin download
Click to start download

This plugin implements the metadata infrastructure for taxonomy terms, so you can add custom metadata (by key) to tags, categories, and other taxonomies. The majority of the code is from sirzooro's submission to the WordPress Core Trac. The rest of the plugin is simply some hacky glue to make this work without modifying the Core. It does not implement any UI for taxonomy term metadata.

The plugin implements the following functions, from which you can build your own custom UI and display code:

add_term_meta($term_id, $meta_key, $meta_value, $unique)

Add meta data field to a term.

  • @param int $term_id Post ID.
  • @param string $key Metadata name.
  • @param mixed $value Metadata value.
  • @param bool $unique Optional, default is false. Whether the same key should not be added.
  • @return bool False for failure. True for success.
delete_term_meta($term_id, $meta_key, $meta_value)

Remove metadata matching criteria from a term. You can match based on the key, or key and value. Removing based on key and value, will keep from removing duplicate metadata with the same key. It also allows removing all metadata matching key, if needed.

  • @param int $term_id term ID
  • @param string $meta_key Metadata name.
  • @param mixed $meta_value Optional. Metadata value.
  • @return bool False for failure. True for success.
get_term_meta($term_id, $key, $single)

Retrieve term meta field for a term.

  • @param int $term_id Term ID.
  • @param string $key The meta key to retrieve.
  • @param bool $single Whether to return a single value.
  • @return mixed Will be an array if $single is false. Will be value of meta data field if $single is true.
update_term_meta($term_id, $meta_key, $meta_value, $prev_value)

Update term meta field based on term ID. Use the $prev_value parameter to differentiate between meta fields with the same key and term ID. If the meta field for the term does not exist, it will be added.

  • @param int $term_id Term ID.
  • @param string $key Metadata key.
  • @param mixed $value Metadata value.
  • @param mixed $prev_value Optional. Previous value to check before removing.
  • @return bool False on failure, true if success.

Development of this plugin was supported by the Massachusetts Institute of Technology Shakespeare Project.


ChangeLog