get_ancestors( int $object_id, string $object_type = '', string $resource_type = '' ): int[]

Gets an array of ancestor IDs for a given object.

Parameters

$object_idintoptional
The ID of the object. Default 0.
$object_typestringoptional
The type of object for which we’ll be retrieving ancestors. Accepts a post type or a taxonomy name.

Default:''

$resource_typestringoptional
Type of resource $object_type is. Accepts 'post_type' or 'taxonomy'.

Default:''

Return

int[] An array of IDs of ancestors from lowest to highest in the hierarchy.

Source

function get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' ) {	$object_id = (int) $object_id;	$ancestors = array();	if ( empty( $object_id ) ) {	/** This filter is documented in wp-includes/taxonomy.php */	return apply_filters( 'get_ancestors', $ancestors, $object_id, $object_type, $resource_type );	}	if ( ! $resource_type ) {	if ( is_taxonomy_hierarchical( $object_type ) ) {	$resource_type = 'taxonomy';	} elseif ( post_type_exists( $object_type ) ) {	$resource_type = 'post_type';	}	}	if ( 'taxonomy' === $resource_type ) {	$term = get_term( $object_id, $object_type );	while ( ! is_wp_error( $term ) && ! empty( $term->parent ) && ! in_array( $term->parent, $ancestors, true ) ) {	$ancestors[] = (int) $term->parent;	$term = get_term( $term->parent, $object_type );	}	} elseif ( 'post_type' === $resource_type ) {	$ancestors = get_post_ancestors( $object_id );	}	/** * Filters a given object's ancestors. * * @since 3.1.0 * @since 4.1.1 Introduced the `$resource_type` parameter. * * @param int[] $ancestors An array of IDs of object ancestors. * @param int $object_id Object ID. * @param string $object_type Type of object. * @param string $resource_type Type of resource $object_type is. */	return apply_filters( 'get_ancestors', $ancestors, $object_id, $object_type, $resource_type ); } 

Hooks

apply_filters( ‘get_ancestors’, int[] $ancestors, int $object_id, string $object_type, string $resource_type )

Filters a given object’s ancestors.

Changelog

VersionDescription
4.1.0Introduced the $resource_type argument.
3.1.0Introduced.

User Contributed Notes

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