Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Media Tags

Provides ability to tag media/attachments via Media Management screens

2014-03-25 * Updates minimum WP requirements, Test up to, etc. * Added Serbian translation files. Thanks to Borisa Djuraskovic from http://www.webhostinghub.com

2014-04-23 * Corrected issue where calls to get_attachments_by_media_tags() function where properly processing.


2014-04-21 * Converted older get_posts query style for media-tags shortcode to use WP_Query object. A new shortcode parameter query="wp_query" can be used to force specific shortcodes to use WP_Query. Or set define('MEDIA_TAGS_QUERY', 'wp_query') in your wp-config.php * Added new shortcode for multiple post_parent ID. post_parent="1,16,32" or for current post use post_parent="this" so you don't have to hard code the post->ID * Update to Roles Management screen to show users by Roles tab.

2013-09-08 * Fixed issue with metabox for media-tags showing on all post types. Thanks @phy9pas


2013-03-20 * Bug fix for sanitizing Media-Tags slug. http://wordpress.org/support/topic/media-tags-slug-sanitizing-not-working-on-special-characters


2012-12-14 * Bug fixes for WordPress 3.5 Media popup screen. Removed Media-Tags logic. Will add in filtering once new code is converted to new media system.


2012-12-14 * Bug fixes for WordPress 3.5 Bulk Media-Tags management screen


2011-08-03 * Bug fixes. All bug fixes were received via posts from the wordpress.org forums by alx359. Thanks to alx359 for all the details provided including plugin filename and line numbers.

http://wordpress.org/support/topic/plugin-media-tags-library-bulk-delete-tags-fix?replies=2 http://wordpress.org/support/topic/plugin-media-tags-get_attachments_by_media_tags-twice-offset-fix?replies=2 http://wordpress.org/support/topic/plugin-media-tags-media-library-inline-fix?replies=5 http://wordpress.org/support/topic/plugin-media-tags-row-count-fix?replies=3 http://wordpress.org/support/topic/plugin-media-tags-some-visual-aid-tags-being-applied-fix?replies=1 http://wordpress.org/support/topic/media-library-diagonal-alignment-fix?replies=1 http://wordpress.org/support/topic/plugin-media-tags-usabilility-fix?replies=4

coming in the next release:

  1. Bulk Admin on the upload panel. I know this is a much requested item.
  2. Ability to show all untagged items. Basically show all attachments without media-tags.


Fixed conflict on the Media Library page when you attempt to Attach a media item to a page. There is some ugly JavaScript used by WordPress which was picking up one of the Media-tags radio buttons. Added some code to hide the Media-Tags elements. And posted a trac ticket. Thanks to jc364 for bringing this to my attention and providing the needed details. http://wordpress.org/support/topic/plugin-media-tags-not-able-to-attach-media-to-page

Fixed an issue with some legacy code which prevented assigning or creating tags of pure numbers. Thanks to Tom who posted that via my blog. http://www.codehooligans.com/projects/wordpress/media-tags/#comment-81887

Fixed a compatibility issue with the newly released WordPress 3.1. In the early release candidate versions of 3.1 these was some cool code changes to the way some of the page listing and bulk actions are handled. Seems between WP3.1rc2 and WP3.1rc3 these cool changes were purposely blocked. I had not noticed this until recently. This issue effected access to the Media-tags bulk action via the dropdown on the Media Library page.

Added a new section to the Settings panel. This new section allow you to completely change the labels used by Media-tags. Thanks to Laetitia Debruyne for writing and asking for some method to convert these to her language, French. This is not so much a translation thing it i18n. But with many plugins they register post types or taxonomies and the user has not ability to change these. Well, for Media-Tags now you do.

Many users have been requesting a way to display or filter all untagged media. This is coming in the next release. This release is mostly bug fixes.


2010-12-16 * More bugs fixed.

  • Fixed code to allow searches within a media-tags term. For example your side http://www.somesite.com/media-tags/flags?s=xxx would return results from all media-tags terms not just within the 'flags' term. So had to add back in some of the filters for the Where and Join of the query (yuk!). The search is applied in default WordPress fashion to the attachment title an description fields. Will try to include the alt text and caption field in some later release.

Thanks to Carlos for commenting on my blog and bringing this to my attention. You can read the thread of comments here. http://www.codehooligans.com/projects/wordpress/media-tags/#comment-71043

  • Corrected an issue with the compare of the global 'wp_version'. Was using the PHP function floatval but this return inaccurate value when the version is something like '3.0.x'. Now using the PHP function version_compare.

  • Within in the Media > Library enabled search to filter listing by Media-Tags. Select the Media-Tag term from the dropdown. Then enter something into the search and submit.

  • No other known bugs at this time.


2010-12-07 * More bug fixed on 'substr_compare' related code causing PHP Warning messages.


2010-12-06 * Bug fixed on 'substr_compare' related code causing PHP Warning messages.



  • Added a Bulk Admin interface on the Media > Library page and the Media upload popup. This new bulk admin interface allows selection of multiple media items then assignment of Media-Tag terms to those items.

  • Added a User Roles Management. This section allows you to selectively grant/deny permission for certain Media-Tags management actions.

  • New Help section. Provides help and information on many topics submitted as comments/question.

  • Added some new template functions which allow more ways to access information about Media-Tag terms and items.

  • Major code cleanup. Removed almost 1000 lines of previously custom code to handle the Term admin interface and rewrite rules. Now using many of the core functions provided by WordPress.

Thanks to email from Chris Webb who provided much of the original code to load the Show Common and Show Uncommon Media-Tags via AJAX.

Thanks to all who provided comments and voiced opinions on features to be added to Media-Tags. The plugin has become a very rich tool used by many. Your voices have been heard. I still have a long list of features to add in upcoming releases. Please be patient.

2010-07-17 * Changes includes more fixes for things broken under WP 3.0. Sorry for all the recent releases. Just trying to stay on top of the fixes. Also, patched some code for the export/import logic. Added two new shortcode and template function parameters. First is 'post_type'. This should allow filtering of Media-Tag media by post, page or your custom post types. Only a single post_type is supported. Second, is nopaging. This was reported by someone having trouble getting a sidebar widget to display all the Media-Tag items.

Still working in some bug and enhancement. Keep the bug reports coming. Thanks to all for making this a great plugin.

2010-06-20 * Change to the rewrite init processing. Found out I was doing it wrong. Thanks for clope on the WordPress.org forums via this thread. http://wordpress.org/support/topic/360613

Hopefully this makes Media-Tags place nicer with larger systems.


2010-06-08: Changes include: * Corrected an taxonomy registration during the initializing of the plugin. Testing with WP 3.0 RC1.


2010-04-22: Changes include: * Some code tweaks to streamline the logic. * Corrected an initializing issue with the plugin that effected the init process which in turn effected the rewrite setup and use of the mediatag.php template file.


2010-04-22: Changes include: * Some code tweaks to streamline the logic.

  • Bug fix: Better Init method. Thanks to Mike Schinkel for pointing out the error of my ways on this. Also for suggesting using the WP_DEBUG to make sure I have all the holes on the dike plugged.

  • Bug fix: Erroneous compare argument on the activate logic media_tags.php in the init function. Thanks to Tom for that note http://www.codehooligans.com/2009/08/17/media-tags-2-2-plugin-for-wordpress-released/#comment-48664

  • Bug fix: Fixed some hard-coded table name prefixes. To all I apologize for this issue. For some reason early code I lifted from another plugin I didn't scan. In the mediatags_rewrite.php where the SQL WHERE is manipulated for matching the rewrite URL the queries had hard-coded prefixed as in 'wp_posts.', etc. This prevents the Media Tags plugin from working on non-standard database setup and also for WPMU. This should now be working.

  • Some initial testing with WordPress 3.0 Beta 1. Things seem to work fine with this plugin. But open for further testing.


2010-01-30: Changes include: * Some code tweaks to streamline the logic.

  • Added RSS output option to Media-Tag Settings page. When enabled will allow direct RSS for an item archive. for example given a Media-Tag archive like http://www.somesite.com/media-tags/my-tag where my-tag is a Media-Tag item you can access the RSS by accessing http://www.somesite.com/media-tags/my-tag/feed.

  • Export/Import logic for Media Tags. I've utilized form action in WordPress that allow complete export and import of Media-Tags elements when using the WordPress export Tool. There is currently not a stand alone method to just export Media-Tags.

  • Coming soon a few Media-Tags widgets.


2009-08-30: Changes include: * Bug fixes to Admin screens. Namely one but for the Permalink slug field.

  • Added a 'View' option on the Media Tags Management screen on the quite menu options. This will let you preview the media-tag item in your theme.

  • Added new function for mediatags_cloud(); This will generate the tag cloud or tags. Note this new function is a wrapper for the new WordPress core function wp_tg_cloud() added in 2.8. If used on an older version of WordPress there will be no output. http://codex.wordpress.org/Template_Tags/wp_tag_cloud

  • Added a column to the Media Library view. This new column lists the item's media tags. The content in this column is much like the Tags column on the Posts listing. The Media Tag is linked so it will filter the Media Library display. Thanks to the many commentors for that simple item.

  • Added some logic to split the media tags into sections on both the Media Library item view as well as the Media Upload view. The thought here is to display the media tags in three sets. The first set is the items' select media-tags. The second set is the common media tags. The third set is the uncommon media tags.

  • Code cleanup.

  • Coming in some future release will be a bulk management option. This option will allow you to select item(s) from your Media Library and set the media tag. Still working on the interface logic.


2009-08-16: Changes include: * New Media Tags tab on the media upload popup. Now you can search by the Media Tag items. Functionality similar to Media section.

  • Now you can control the permalink prefix which was previously hard-coded as '/media-tags/'. Go to Settings -> Permalinks. You should see a new input field below the Category and Tag fields. This lets you use something unique to your site.

  • Integration with some other plugins. The first to be added is the famous Google XML Sitemaps plugin. Now when you build your XML Sitemap you can include Media Tag URLs just like WordPress Categories and Tags. Look for the options under Settings -> Media Tags (New menu).

  • Some general code cleanup. Namely a conflict the Media Tags plugin was causing with Role Scoper and some other plugins.

  • Renamed the original plugin file from 'meta_tags.php' to 'media_tags.php'.


Also included are some small changes to cleanup the core media tag search code. One change as suggested by Jozik http://www.codehooligans.com/2009/07/15/media-tags-20-released/comment-page-1/#comment-42927 to correct the get_terms argument to search by slug as default. To search by name you may use the 'search_by=name' function argument. This new 'search_by' parameter is also supported via the shortcodes.



  • 2009-07-23: Changes to fix relative paths when WordPress is not installed into the root. Thanks to Ilan Y. Cohen for the tip on this bug.


  • 2009-07-23: Changes include code cleanup and correcting link under new Media-Tags Management screen.


  • 2009-07-15: Major update to the plugin. New Permalink, shortcodes, Media Tags management interface.


  • 2009-02-04: Found an issue with the returned attachment when calling get_posts. Changed this to get_children.


  • 2008-12-13: Initial release

Requires: 3.9 or higher
Compatible up to: 4.2.12
Last Updated: 2 years ago
Active Installs: 8,000+


4.6 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,2,2
100,6,6 100,2,2 100,2,2
0,1,0 100,2,2 100,1,1 100,2,2
100,3,3 100,1,1
0,1,0 100,3,3
0,1,0 50,4,2
100,1,1 67,3,2 0,1,0
0,1,0 100,3,3
100,2,2 100,1,1
100,2,2 100,2,2