unregister_taxonomy() – Unregisters a taxonomy.

You appear to be a bot. Output may be restricted

Description

Unregisters a taxonomy.

Can not be used to unregister built-in taxonomies.

Usage

$true|WP_Error = unregister_taxonomy( $taxonomy );

Parameters

$taxonomy
( string ) required – Taxonomy name.

Returns

true|WP_Error True on success, WP_Error on failure or if the taxonomy doesn't exist.

Source

File name: wordpress/wp-includes/taxonomy.php


Lines:

1 to 33 of 33
function unregister_taxonomy( $taxonomy ) {
  if ( ! taxonomy_exists( $taxonomy ) ) {
    return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
  }

  $taxonomy_object = get_taxonomy( $taxonomy );

  // Do not allow unregistering internal taxonomies.
  if ( $taxonomy_object->_builtin ) {
    return new WP_Error( 'invalid_taxonomy', __( 'Unregistering a built-in taxonomy is not allowed.' ) );
  }

  global $wp_taxonomies;

  $taxonomy_object->remove_rewrite_rules();
  $taxonomy_object->remove_hooks();

  // Remove the taxonomy.
  unset( $wp_taxonomies[ $taxonomy ] );

  
/**
 * Fires after a taxonomy is unregistered.
 *
 * @since 4.5.0
 *
 * @param string $taxonomy Taxonomy name.
 */
  do_action( 'unregistered_taxonomy', $taxonomy );

  return true;
}
 

 View on GitHub View on Trac