Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

wp_find_hierarchy_loop( callable $callback, int $start, int $start_parent, array $callback_args = array() )

Find hierarchy loops using a callback function that maps object IDs to parent IDs.

Description Description

Parameters Parameters


(callable) (Required) Function that accepts ( ID, $callback_args ) and outputs parent_ID.


(int) (Required) The ID to start the loop check at.


(int) (Required) The parent_ID of $start to use instead of calling $callback( $start ). Use null to always use $callback


(array) (Optional) Additional arguments to send to $callback.

Default value: array()

Top ↑

Return Return

(array) IDs of all members of loop.

Top ↑

Source Source

File: wp-includes/functions.php

function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_args = array() ) {
	$override = is_null( $start_parent ) ? array() : array( $start => $start_parent );

	$arbitrary_loop_member = wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override, $callback_args );
	if ( ! $arbitrary_loop_member ) {
		return array();

	return wp_find_hierarchy_loop_tortoise_hare( $callback, $arbitrary_loop_member, $override, $callback_args, true );

Top ↑

Changelog Changelog

Version Description
3.1.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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