<?php
/**
 * Plugin Name: Custom Attachment Taxonomies
 */

function ds_register_example_attachment_taxonomies() {
	register_taxonomy( 'attachment_category', 'attachment', array(
		'hierarchical' => true,
		'query_var' => false,
		'rewrite' => false,
		'public' => false,
		'show_ui' => true,
		'show_admin_column' => true,
		'update_count_callback' => '_update_generic_term_count'
	) );

	register_taxonomy( 'attachment_tag', 'attachment', array(
	 	'hierarchical' => false,
		'query_var' => false,
		'rewrite' => false,
		'public' => false,
		'show_ui' => true,
		'show_admin_column' => true,
		'update_count_callback' => '_update_generic_term_count'
	) );

	register_taxonomy(
		'genre',
		array( 'attachment:audio' ), array(
		'labels' => array(
			'name' => __( 'Genre' )
		),
	 	'hierarchical' => false,
		'query_var' => false,
		'rewrite' => false,
		'public' => false,
		'show_ui' => true,
		'update_count_callback' => '_update_generic_term_count'
	) );

	register_taxonomy(
		'year',
		array( 'attachment:video' ), array(
		'labels' => array(
			'name' => __( 'Year' )
		),
	 	'hierarchical' => false,
		'query_var' => false,
		'rewrite' => false,
		'public' => false,
		'show_ui' => true,
		'update_count_callback' => '_update_generic_term_count'
	) );
}
add_action( 'init', 'ds_register_example_attachment_taxonomies' );
