That behavior isn’t supported by RB4T. However, I am sure you could work something out.
Take a look at how I am removing the metabox and how I am adding the metabox. In your case, for certain post types, you’d want to remove the RB4T term metabox and restore the default WordPress version.
I replaced remove_meta_box() with this:
public function remove_meta_box()
{
if (!is_wp_error($this->tax_obj) && isset($this->tax_obj->object_type)) {
$post_types = array('custom_post_type_a','custom_post_type_b');
foreach($post_types as $post_type){
remove_meta_box( $this->taxonomy.'div', $post_type, 'side' );
}
}
}
Of course all this will get blown away if the plugin is updated, so it’s not really a long term solution.
Yeah, that isn’t a good long-term solution. I was thinking you could do something on the add_meta_boxes hook. Totally untested, and only as a suggestion:
add_action( 'add_meta_boxes', 'customize_rb4t_metaboxes', 20 );
function customize_rb4t_metaboxes(){
global $post;
if( in_array( $post->post_type ), array('custom_post_type_a','custom_post_type_b' ) ){
// hierarchical style tax
remove_meta_box( 'radio-yourtaxdiv', $post->post_type, 'side' );
add_meta_box( 'yourtaxdiv', 'Metabox Label', 'post_categories_meta_box', $post->post_type, null, 'side', 'core' );
// non-hierarchical (tags) style tax
//remove_meta_box( 'radio-tagsdiv-yourtax', $post->post_type, 'side' );
//add_meta_box( 'tagsdiv-yourtax', 'Metabox Label', 'post_tags_meta_box', $post->post_type, null, 'side', 'core' );
}
}