WP_Script_Modules::get_dependencies( string[] $ids, string[] $import_types = array(, ) ): array<string,

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

Retrieves all the dependencies for the given script module identifiers, filtered by import types.

Description

It will consolidate an array containing a set of unique dependencies based on the requested import types: ‘static’, ‘dynamic’, or both. This method is recursive and also retrieves dependencies of the dependencies.

Parameters

$idsstring[]required
The identifiers of the script modules for which to gather dependencies.
$import_typesstring[]optional
Import types of dependencies to retrieve: 'static', 'dynamic', or both.
Default is both.

Default:array(, )

Return

array<string, array> List of dependencies, keyed by script module identifier.

Source

private function get_dependencies( array $ids, array $import_types = array( 'static', 'dynamic' ) ): array {
	$all_dependencies = array();
	$id_queue         = $ids;

	while ( ! empty( $id_queue ) ) {
		$id = array_shift( $id_queue );
		if ( ! isset( $this->registered[ $id ] ) ) {
			continue;
		}

		foreach ( $this->registered[ $id ]['dependencies'] as $dependency ) {
			if (
				! isset( $all_dependencies[ $dependency['id'] ] ) &&
				in_array( $dependency['import'], $import_types, true ) &&
				isset( $this->registered[ $dependency['id'] ] )
			) {
				$all_dependencies[ $dependency['id'] ] = $this->registered[ $dependency['id'] ];

				// Add this dependency to the list to get dependencies for.
				$id_queue[] = $dependency['id'];
			}
		}
	}

	return $all_dependencies;
}

Changelog

VersionDescription
6.5.0Introduced.

User Contributed Notes

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