Marks the script module to be enqueued in the page.
Description
If a src is provided and the script module has not been registered yet, it will be registered.
Parameters
$idstringrequired- The identifier of the script module. Should be unique. It will be used in the final import map.
$srcstringoptional- Full URL of the script module, or path of the script module relative to the WordPress root directory. If it is provided and the script module has not been registered yet, it will be registered.
Default:
'' $depsarrayoptional- List of dependencies.
...$0string|arrayAn array of script module identifiers of the dependencies of this script module. The dependencies can be strings or arrays. If they are arrays, they need anidkey with the script module identifier, and can contain animportkey with eitherstaticordynamic. By default, dependencies that don’t contain animportkey are considered static.idstringThe script module identifier.importstringOptional. Import type. May be eitherstaticordynamic. Defaults tostatic.
Default:
array() $versionstring|false|nulloptional- String specifying the script module version number. Defaults to false.
It is added to the URL as a query string for cache busting purposes. If $version is set to false, the version number is the currently installed WordPress version.
If $version is set to null, no version is added.Default:
false
Source
function wp_enqueue_script_module( string $id, string $src = '', array $deps = array(), $version = false ) {
wp_script_modules()->enqueue( $id, $src, $deps, $version );
}
Changelog
| Version | Description |
|---|---|
| 6.5.0 | Introduced. |
Introductory post – Script Modules in 6.5
This appears to not work when using it with the `admin_enqueue_scripts` action hook. I have tried it over and over again, and it won’t print the script tag to the page.
Digging into the code, it appears to only print the tag via the `wp_head` or `wp_footer` action hooks, which I suspect do not fire in the wp-admin area. This is a disappointment, as I hoped to use some modules in the back end on some custom admin pages for a custom plugin.