unregister_taxonomy_for_object_type

The timeline below displays how wordpress function unregister_taxonomy_for_object_type has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Removes an already registered taxonomy from an object type.
 *
 * @since 3.7.0
 *
 * @global WP_Taxonomy[] $wp_taxonomies The registered taxonomies.
 *
 * @param string $taxonomy    Name of taxonomy object.
 * @param string $object_type Name of the object type.
 * @return bool True if successful, false if not.
 */
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;
}

WordPress Version: 5.9

/**
 * Remove an already registered taxonomy from an object type.
 *
 * @since 3.7.0
 *
 * @global WP_Taxonomy[] $wp_taxonomies The registered taxonomies.
 *
 * @param string $taxonomy    Name of taxonomy object.
 * @param string $object_type Name of the object type.
 * @return bool True if successful, false if not.
 */
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;
}

WordPress Version: 5.1

/**
 * Remove an already registered taxonomy from an object type.
 *
 * @since 3.7.0
 *
 * @global array $wp_taxonomies The registered taxonomies.
 *
 * @param string $taxonomy    Name of taxonomy object.
 * @param string $object_type Name of the object type.
 * @return bool True if successful, false if not.
 */
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;
}

WordPress Version: 4.3

/**
 * Remove an already registered taxonomy from an object type.
 *
 * @since 3.7.0
 *
 * @global array $wp_taxonomies The registered taxonomies.
 *
 * @param string $taxonomy    Name of taxonomy object.
 * @param string $object_type Name of the object type.
 * @return bool True if successful, false if not.
 */
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]);
    return true;
}

WordPress Version: 3.7

/**
 * Remove an already registered taxonomy from an object type.
 *
 * @since 3.7.0
 *
 * @param string $taxonomy    Name of taxonomy object.
 * @param string $object_type Name of the object type.
 * @return bool True if successful, false if not.
 */
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]);
    return true;
}