Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

post_type_taxonomy

// Register Custom Taxonomy
function post_type_taxonomy() {

	$labels = array(
		'name'                       => _x( 'Types', 'Taxonomy General Name', 'text_domain' ),
		'singular_name'              => _x( 'Type', 'Taxonomy Singular Name', 'text_domain' ),
		'menu_name'                  => __( 'Types', 'text_domain' ),
		'all_items'                  => __( 'All Types', 'text_domain' ),
		'parent_item'                => __( 'Parent Post', 'text_domain' ),
		'parent_item_colon'          => __( 'Parent Post:', 'text_domain' ),
		'new_item_name'              => __( 'New Post', 'text_domain' ),
		'add_new_item'               => __( 'Add New Post', 'text_domain' ),
		'edit_item'                  => __( 'Edit Post', 'text_domain' ),
		'update_item'                => __( 'Update Post', 'text_domain' ),
		'view_item'                  => __( 'View Post', 'text_domain' ),
		'separate_items_with_commas' => __( 'Separate posts with commas', 'text_domain' ),
		'add_or_remove_items'        => __( 'Add or remove posts', 'text_domain' ),
		'choose_from_most_used'      => __( 'Choose from the most used posts', 'text_domain' ),
		'popular_items'              => __( 'Popular Posts', 'text_domain' ),
		'search_items'               => __( 'Search posts', 'text_domain' ),
		'not_found'                  => __( 'Not Found', 'text_domain' ),
	);
	$args = array(
		'labels'                     => $labels,
		'hierarchical'               => true,
		'public'                     => true,
		'show_ui'                    => true,
		'show_admin_column'          => true,
		'show_in_nav_menus'          => true,
		'show_tagcloud'              => true,
	);
	register_taxonomy( 'type', array( 'post' ), $args );

}

// Hook into the 'init' action
add_action( 'init', 'post_type_taxonomy', 0 );