get_ancestors( int $object_id, string $object_type = '', string $resource_type = '' )
Get an array of ancestor IDs for a given object.
Description Description
Parameters Parameters
- $object_id
-
(int) (Optional) The ID of the object. Default 0.
- $object_type
-
(string) (Optional) The type of object for which we'll be retrieving ancestors. Accepts a post type or a taxonomy name.
Default value: ''
- $resource_type
-
(string) (Optional) Type of resource $object_type is. Accepts 'post_type' or 'taxonomy'.
Default value: ''
Return Return
(array) An array of ancestors from lowest to highest in the hierarchy.
Source Source
File: wp-includes/taxonomy.php
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 ) ) {
$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 array $ancestors An array 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 );
}
Expand full source code Collapse full source code View on Trac
Changelog Changelog
| Version | Description |
|---|---|
| 4.1.0 | Introduced the $resource_type argument. |
| 3.1.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Given the following category hierarchy (with IDs):
– Books (6)
— Fiction (23)
— Mystery (208)
returns:
Array
(
[0] => 23
[1] => 6
)
Given the a page hierarchy (with IDs):
– About (447)
— Child Page (448)
returns:
Array
(
[0] => 447
)