get_ancestors( int $object_id, string $object_type = ”, string $resource_type = ” )
Get an array of ancestor IDs for a given object.
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
(int[]) An array of IDs of ancestors from lowest to highest in the hierarchy.
Source Source
File: wp-includes/taxonomy.php
4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 |
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 ); } |
Expand full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
4.1.0 | Introduced the $resource_type argument. |
3.1.0 | Introduced. |