WP_Dependencies::recurse_deps( string[] $queue, string $handle ): bool

In this article

Recursively search the passed dependency tree for a handle.

Parameters

$queuestring[]required
An array of queued _WP_Dependency handles.
$handlestringrequired
Name of the item. Should be unique.

Return

bool Whether the handle is found after recursively searching the dependency tree.

Source

protected function recurse_deps( $queue, $handle ) {
	if ( isset( $this->all_queued_deps ) ) {
		return isset( $this->all_queued_deps[ $handle ] );
	}

	$all_deps = array_fill_keys( $queue, true );
	$queues   = array();
	$done     = array();

	while ( $queue ) {
		foreach ( $queue as $queued ) {
			if ( ! isset( $done[ $queued ] ) && isset( $this->registered[ $queued ] ) ) {
				$deps = $this->registered[ $queued ]->deps;
				if ( $deps ) {
					$all_deps += array_fill_keys( $deps, true );
					array_push( $queues, $deps );
				}
				$done[ $queued ] = true;
			}
		}
		$queue = array_pop( $queues );
	}

	$this->all_queued_deps = $all_deps;

	return isset( $this->all_queued_deps[ $handle ] );
}

Changelog

VersionDescription
4.0.0Introduced.

User Contributed Notes

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