This is what I use to build new custom Taxonomy to my custom post types. And it works for me.
function fun_book() {
// Add new "Fun" taxonomy to Book Post Type
register_taxonomy('fun', 'book', array(
// Hierarchical taxonomy (like categories)
'hierarchical' => true,
// This array of options controls the labels displayed in the WordPress Admin UI
'labels' => array(
'name' => _x( 'Fun', 'taxonomy general name' ),
'singular_name' => _x( 'Fun', 'taxonomy singular name' ),
'search_items' => __( 'Search Locations' ),
'all_items' => __( 'All Fun' ),
'parent_item' => __( 'Parent Fun' ),
'parent_item_colon' => __( 'Parent Fun:' ),
'edit_item' => __( 'Edit Fun' ),
'update_item' => __( 'Update Fun' ),
'add_new_item' => __( 'Add New Fun' ),
'new_item_name' => __( 'New Fun Name' ),
'menu_name' => __( 'Fun' ),
),
// Control the slugs used for this taxonomy
'rewrite' => array(
'slug' => 'Fun', // This controls the base slug that will display before each term
'with_front' => false, // Don't display the category base before "/locations/"
'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/"
),
));
}
add_action( 'init', 'fun_book', 0 );
I really hope this helps!