register_taxonomy_for_object_type

The timeline below displays how wordpress function register_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

/**
 * Adds an already registered taxonomy to an object type.
 *
 * @since 3.0.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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type, true)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    // Filter out empties.
    $wp_taxonomies[$taxonomy]->object_type = array_filter($wp_taxonomies[$taxonomy]->object_type);
    /**
     * Fires after a taxonomy is registered for an object type.
     *
     * @since 5.1.0
     *
     * @param string $taxonomy    Taxonomy name.
     * @param string $object_type Name of the object type.
     */
    do_action('registered_taxonomy_for_object_type', $taxonomy, $object_type);
    return true;
}

WordPress Version: 5.9

/**
 * Add an already registered taxonomy to an object type.
 *
 * @since 3.0.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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type, true)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    // Filter out empties.
    $wp_taxonomies[$taxonomy]->object_type = array_filter($wp_taxonomies[$taxonomy]->object_type);
    /**
     * Fires after a taxonomy is registered for an object type.
     *
     * @since 5.1.0
     *
     * @param string $taxonomy    Taxonomy name.
     * @param string $object_type Name of the object type.
     */
    do_action('registered_taxonomy_for_object_type', $taxonomy, $object_type);
    return true;
}

WordPress Version: 5.5

/**
 * Add an already registered taxonomy to an object type.
 *
 * @since 3.0.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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type, true)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    // Filter out empties.
    $wp_taxonomies[$taxonomy]->object_type = array_filter($wp_taxonomies[$taxonomy]->object_type);
    /**
     * Fires after a taxonomy is registered for an object type.
     *
     * @since 5.1.0
     *
     * @param string $taxonomy    Taxonomy name.
     * @param string $object_type Name of the object type.
     */
    do_action('registered_taxonomy_for_object_type', $taxonomy, $object_type);
    return true;
}

WordPress Version: 5.1

/**
 * Add an already registered taxonomy to an object type.
 *
 * @since 3.0.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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    // Filter out empties.
    $wp_taxonomies[$taxonomy]->object_type = array_filter($wp_taxonomies[$taxonomy]->object_type);
    /**
     * Fires after a taxonomy is registered for an object type.
     *
     * @since 5.1.0
     *
     * @param string $taxonomy    Taxonomy name.
     * @param string $object_type Name of the object type.
     */
    do_action('registered_taxonomy_for_object_type', $taxonomy, $object_type);
    return true;
}

WordPress Version: 4.3

/**
 * Add an already registered taxonomy to an object type.
 *
 * @since 3.0.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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    // Filter out empties.
    $wp_taxonomies[$taxonomy]->object_type = array_filter($wp_taxonomies[$taxonomy]->object_type);
    return true;
}

WordPress Version: 3.9

/**
 * Add an already registered taxonomy to an object type.
 *
 * @since 3.0.0
 * @uses $wp_taxonomies Modifies taxonomy object
 *
 * @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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    return true;
}

WordPress Version: 3.7

/**
 * Add an already registered taxonomy to an object type.
 *
 * @package WordPress
 * @subpackage Taxonomy
 * @since 3.0.0
 * @uses $wp_taxonomies Modifies taxonomy object
 *
 * @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 register_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;
    }
    if (!in_array($object_type, $wp_taxonomies[$taxonomy]->object_type)) {
        $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
    }
    return true;
}