term_is_ancestor_of( int|object $term1, int|object $term2, string $taxonomy )

Check if a term is an ancestor of another term.


Description

You can use either an id or the term object for both parameters.


Parameters

$term1

(int|object) (Required) ID or object to check if this is the parent term.

$term2

(int|object) (Required) The child term.

$taxonomy

(string) (Required) Taxonomy name that $term1 and $term2 belong to.


Return

(bool) Whether $term2 is a child of $term1.


Source

File: wp-includes/taxonomy.php

function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
	if ( ! isset( $term1->term_id ) )
		$term1 = get_term( $term1, $taxonomy );
	if ( ! isset( $term2->parent ) )
		$term2 = get_term( $term2, $taxonomy );

	if ( empty( $term1->term_id ) || empty( $term2->parent ) )
		return false;
	if ( $term2->parent == $term1->term_id )
		return true;

	return term_is_ancestor_of( $term1, get_term( $term2->parent, $taxonomy ), $taxonomy );
}


Changelog

Changelog
Version Description
WP-3.4.0 Introduced.