I’m posting this here pretty much for my own reference. The idea is to create an array of taxonomy slugs that you want to hide from the Edit screens in The WordPress Administration Panels. You can then loop over the global $wp_taxonomies variable and if the taxonomy is present in the $hide array, the WordPress core function remove_meta_box() will be called. At this point you also might want to call the add_meta_box() function to register a new UI object to handle the taxonomies terms.
if( !function_exists( 'mfields_overwrite_hide_taxonomies_from_admin' ) ) {
add_action( 'add_meta_boxes', 'mfields_hide_taxonomies_from_admin' );
function mfields_hide_taxonomies_from_admin() {
global $wp_taxonomies;
$hide = array(
'symbolism'
);
foreach( $wp_taxonomies as $name => $taxonomy ) {
if( in_array( $name, $hide ) ) {
remove_meta_box( 'tagsdiv-' . $name, 'post', 'side' );
add_meta_box(
'mfields_taxonomy_ui_' . $name,
$taxonomy->label,
'my_custom_taxonomy_handler_function',
'post',
'side',
'core',
array( 'taxonomy' => $name )
);
}
}
}
}



Thanks for sharing!
Minor addition, if you use taxonomy in hierarchical mode, in ‘remove_meta_box’, the box ID, instead of
, would be
(as of WP 3.2.1)