Make WordPress Core

Ticket #11058: unregister_taxonomy.diff

File unregister_taxonomy.diff, 825 bytes (added by scribu, 17 years ago)
  • wp-includes/taxonomy.php

     
    194194        $wp_taxonomies[$taxonomy] = (object) $args;
    195195}
    196196
     197/**
     198 * Do the opposite of register_taxonomy()
     199 */
     200function unregister_taxonomy( $taxonomy, $object_type = '') {
     201        global $wp_taxonomies;
     202
     203        if ( !isset($wp_taxonomies[$taxonomy]) )
     204                return;
     205
     206        if ( !empty( $object_type ) ) {
     207                $i = array_search($object_type, $wp_taxonomies[$taxonomy]->object_type);
     208
     209                if ( false !== $i )
     210                        unset($wp_taxonomies[$taxonomy]->object_type[$i]);
     211
     212                if ( empty($wp_taxonomies[$taxonomy]->object_type) )
     213                        unset($wp_taxonomies[$taxonomy]);
     214        } else {
     215                unset($wp_taxonomies[$taxonomy]);
     216        }
     217}
     218
    197219//
    198220// Term API
    199221//