register_taxonomy_for_object_type( string $taxonomy, string $object_type ): bool

Adds an already registered taxonomy to an object type.

Parameters

$taxonomystringrequired
Name of taxonomy object.
$object_typestringrequired
Name of the object type.

Return

bool True if successful, false if not.

Source

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;
}

Hooks

do_action( ‘registered_taxonomy_for_object_type’, string $taxonomy, string $object_type )

Fires after a taxonomy is registered for an object type.

Changelog

VersionDescription
3.0.0Introduced.

User Contributed Notes

  1. Skip to note 3 content

    Do not forget to use the init hook to run this function. If not, the taxonomy and / or the CPT you want to reference might not have been created yet.

    /**
     * Share taxonomy pdf-groups with posts
     *
     * @return void
     */
    function namespace_share_category_with_pages() {
    	register_taxonomy_for_object_type( 'category', 'page' );
    }
    
    add_action( 'init', 'namespace_share_category_with_pages' );

You must log in before being able to contribute a note or feedback.