Source View: get_ancestors

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
3160  * @param string $object_type The type of object for which we'll be retrieving ancestors.
3161  * @return array of ancestors from lowest to highest in the hierarchy.
3162  */
3163 function get_ancestors($object_id = 0, $object_type = '') {
3164      $object_id = (int) $object_id;
3165
3166      $ancestors = array();
3167
3168      if ( empty( $object_id ) ) {
3169           return apply_filters('get_ancestors', $ancestors, $object_id, $object_type);
3170      }
3171
3172      if ( is_taxonomy_hierarchical( $object_type ) ) {
3173           $term = get_term($object_id, $object_type);
3174           while ( ! is_wp_error($term) && ! empty( $term->parent ) && ! in_array( $term->parent, $ancestors ) ) {
3175                $ancestors[] = (int) $term->parent;
3176                $term = get_term($term->parent, $object_type);
3177           }
3178      } elseif ( null !== get_post_type_object( $object_type ) ) {
 
Line Code
3181                $ancestors = $object->ancestors;
3182           else {
3183                while ( ! is_wp_error($object) && ! empty( $object->post_parent ) && ! in_array( $object->post_parent, $ancestors ) ) {
3184                     $ancestors[] = (int) $object->post_parent;
3185                     $object = get_post($object->post_parent);
3186                }
3187           }
3188      }
3189
3190      return apply_filters('get_ancestors', $ancestors, $object_id, $object_type);
3191 }
3192
3193 /**
3194  * Returns the term's parent's term_ID
3195  *
3196  * @since 3.1.0
3197  *
3198  * @param int $term_id
3199  * @param string $taxonomy