wordpress / latest / functions / wp_find_hierarchy_loop.html

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

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.

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

Parameters

$callback callable Required
Function that accepts ( ID, $callback_args ) and outputs parent_ID.
$start int Required
The ID to start the loop check at.
$start_parent int Required
The parent_ID of $start to use instead of calling $callback( $start ).
Use null to always use $callback
$callback_args array Optional
Additional arguments to send to $callback.

Default: array()

Return

array IDs of all members of loop.

Source

File: wp-includes/functions.php. View all references

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 );
}

Changelog

Version Description
3.1.0 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_find_hierarchy_loop