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