Script Modules API Reference
schema_version: 1 id: developer-script-modules-api slug: /developer/script-modules/api/ title: Script Modules API Reference section: Developer topic: Script Modules audience: plugin, theme, and block developers status: source-backed-draft review_state: needs-human-review source_set: script-modules-pilot source_commit: 58f02a0278b49f35436ecd14a73a9701f1a115ef source_paths:
- src/wp-includes/script-modules.php
- src/wp-includes/class-wp-script-modules.php
generated_by: technical-docs-agent-compatible pilot slice
generation_note: Prepared from source-backed page specs; not a full WP Codebox runtime corpus run.
generated_at: 2026-06-16T16:38:25Z
nav:
label: API Reference
parent: /developer/script-modules/
order: 50
search:
weight: 0.95
keywords:
- wp_script_modules
- wp_register_script_module
- wp_enqueue_script_module
- wp_dequeue_script_module
- wp_deregister_script_module
- wp_set_script_module_translations
This reference covers the public Script Modules functions in WordPress Core.
wp_script_modules()
Returns the main WP_Script_Modules instance, creating it if needed.
$script_modules = wp_script_modules();wp_register_script_module( string $id, string $src, array $deps = array(), $version = false, array $args = array() )
Registers a module by identifier without enqueueing it.
Parameters:
- wp_script_modules
- wp_register_script_module
- wp_enqueue_script_module
- wp_dequeue_script_module
- wp_deregister_script_module
- wp_set_script_module_translations
wp_enqueue_script_module( string $id, string $src = '', array $deps = array(), $version = false, array $args = array() )
Marks a module to be loaded on the page. If $src is provided and the module is not registered, WordPress registers it first.
wp_enqueue_script_module(
'my-plugin/view',
plugins_url( 'assets/view.js', __FILE__ ),
array( '@wordpress/interactivity' ),
'1.0.0'
);wp_dequeue_script_module( string $id )
Removes a module from the queue for the current page. The module remains registered.
wp_dequeue_script_module( 'my-plugin/view' );wp_deregister_script_module( string $id )
Dequeues and unregisters a module.
wp_deregister_script_module( 'my-plugin/view' );wp_set_script_module_translations( string $id, string $domain = 'default', string $path = '' ): bool
Overrides the text domain and translations path for a registered module. Returns true when the module is registered and the translation metadata is stored; returns false when the module is not registered.
wp_set_script_module_translations( 'my-plugin/view', 'my-plugin', __DIR__ . '/languages' );Use this only when the module’s text domain differs from default or translation files live outside the standard location.
Related Class Methods
Most public functions delegate to WP_Script_Modules methods:
- wp_script_modules
- wp_register_script_module
- wp_enqueue_script_module
- wp_dequeue_script_module
- wp_deregister_script_module
- wp_set_script_module_translations