A WordPress-centric search engine for devs and theme authors



wp_find_hierarchy_loop ›

Since3.1.0
Deprecatedn/a
wp_find_hierarchy_loop ( $callback, $start, $start_parent, $callback_args = array() )
Access:
  • private
Parameters: (4)
  • (callable) $callback Function that accepts ( ID, $callback_args ) and outputs parent_ID.
    Required: Yes
  • (int) $start The ID to start the loop check at.
    Required: Yes
  • (int) $start_parent The parent_ID of $start to use instead of calling $callback( $start ). Use null to always use $callback
    Required: Yes
  • (array) $callback_args Optional. Additional arguments to send to $callback.
    Required: No
    Default: array()
Returns:
  • (array) IDs of all members of loop.
Defined at:
Codex:

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



Source

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

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

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