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.

php
$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.

php
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.

php
wp_dequeue_script_module( 'my-plugin/view' );

wp_deregister_script_module( string $id )

Dequeues and unregisters a module.

php
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.

php
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.

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