unregister_taxonomy( string $taxonomy )
Unregisters a taxonomy.
Description
Can not be used to unregister built-in taxonomies.
Parameters
- $taxonomy
-
(string) (Required) Taxonomy name.
Return
(true|WP_Error) True on success, WP_Error on failure or if the taxonomy doesn't exist.
Source
File: wp-includes/taxonomy.php
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 custom taxonomy default term option.
if ( ! empty( $taxonomy_object->default_term ) ) {
delete_option( 'default_term_' . $taxonomy_object->name );
}
// 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;
} Changelog
| Version | Description |
|---|---|
| 4.5.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/unregister_taxonomy