Removes an already registered taxonomy from an object type.
Parameters
$taxonomy
stringrequired- Name of taxonomy object.
$object_type
stringrequired- Name of the object type.
Source
function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
global $wp_taxonomies;
if ( ! isset( $wp_taxonomies[ $taxonomy ] ) ) {
return false;
}
if ( ! get_post_type_object( $object_type ) ) {
return false;
}
$key = array_search( $object_type, $wp_taxonomies[ $taxonomy ]->object_type, true );
if ( false === $key ) {
return false;
}
unset( $wp_taxonomies[ $taxonomy ]->object_type[ $key ] );
/**
* Fires after a taxonomy is unregistered for an object type.
*
* @since 5.1.0
*
* @param string $taxonomy Taxonomy name.
* @param string $object_type Name of the object type.
*/
do_action( 'unregistered_taxonomy_for_object_type', $taxonomy, $object_type );
return true;
}
Hooks
- do_action( ‘unregistered_taxonomy_for_object_type’,
string $taxonomy ,string $object_type ) Fires after a taxonomy is unregistered for an object type.
Changelog
Version | Description |
---|---|
3.7.0 | Introduced. |
Below is an example of how you can entirely remove tags from use for blog posts. This code will remove the Tags admin menu item, the Tags column when viewing the list of posts and the Tags metabox when editing a single post.
/wp-admin/includes/plugin.php
on line 1937 I had to disable this code from the functions.php file in multiple client websites.Needed to remove
category
from the defaultpost
but I get an “undefined offset: 2” error when I use the above code. Is it that this function is no longer in core or are there aspects to it that’re missing?