W3cubDocs

/WordPress

WP_Script_Modules::get_dependencies( string[] $ids, string[] $import_types = array(‘static’, ‘dynamic’) ): array[]

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('static', 'dynamic')

Return

array[] List of dependencies, keyed by script module identifier.

Source

private function get_dependencies( array $ids, array $import_types = array( 'static', 'dynamic' ) ) {
	return array_reduce(
		$ids,
		function ( $dependency_script_modules, $id ) use ( $import_types ) {
			$dependencies = array();
			foreach ( $this->registered[ $id ]['dependencies'] as $dependency ) {
				if (
				in_array( $dependency['import'], $import_types, true ) &&
				isset( $this->registered[ $dependency['id'] ] ) &&
				! isset( $dependency_script_modules[ $dependency['id'] ] )
				) {
					$dependencies[ $dependency['id'] ] = $this->registered[ $dependency['id'] ];
				}
			}
			return array_merge( $dependency_script_modules, $dependencies, $this->get_dependencies( array_keys( $dependencies ), $import_types ) );
		},
		array()
	);
}

Changelog

Version Description
6.5.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_script_modules/get_dependencies