I can verify that is_taxonomy() does in fact work on custom taxonomies. The issue that you are most likely experiencing is that you are calling the function too early. The following two examples should illustrate:
add_action( 'init', 'is_there_a_doggie_treat_taxonomy', 0 );
add_action( 'init', 'create_doggie_treat_taxonomy', 50 );
add_action( 'init', 'is_there_a_doggie_treat_taxonomy', 100 );
function is_there_a_doggie_treat_taxonomy() {
print ( is_taxonomy( 'doggie-treat' ) ) ? '<p>We Have Treats!</p>' : '<p>No Treats for you!</p>';
}
function create_doggie_treat_taxonomy() {
register_taxonomy( "doggie-treat", 'post', array(
'hierarchical' => true,
'label' => 'Doggie Treats',
'singular' => 'Doggie Treat',
'update_count_callback' => $tax['update_count_callback'],
) );
}
So, we’ve hooked into init 3 times. First we have checked to see if our taxonomy exists at 0. Unfortunately , it does not yet exist. At 50, we create the taxonomy and when we check for it again at 100, it is there.
I would try hooking the function a little later.
Best,
-Mike