A WordPress-centric search engine for devs and theme authors

wp_register_script › WordPress Function

wp_register_script ( $handle, $src, $deps = array(), $ver = false, $args = array() )
Parameters: (5)
  • (string) $handle Name of the script. Should be unique.
    Required: Yes
  • (string|false) $src Full URL of the script, or path of the script relative to the WordPress root directory. If source is set to false, script is an alias of other scripts it depends on.
    Required: Yes
  • (string[]) $deps Optional. An array of registered script handles this script depends on. Default empty array.
    Required: No
    Default: array()
  • (string|bool|null) $ver Optional. String specifying script version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to false, a version number is automatically added equal to current installed WordPress version. If set to null, no version is added.
    Required: No
    Default: false
  • (array|bool) $args { Optional. An array of additional script loading strategies. Default empty array. Otherwise, it may be a boolean in which case it determines whether the script is printed in the footer. Default false. @type string $strategy Optional. If provided, may be either 'defer' or 'async'. @type bool $in_footer Optional. Whether to print the script in the footer. Default 'false'. }
    Required: No
    Default: array()
  • WP_Dependencies::add()
  • WP_Dependencies::add_data()
  • (bool) Whether the script has been registered. True on success, false on failure.
Defined at:
Change Log:
  • 4.3.0
  • 6.3.0

Registers a new script.

Registers a script to be enqueued later using the wp_enqueue_script() function.


function wp_register_script( $handle, $src, $deps = array(), $ver = false, $args = array() ) {
	if ( ! is_array( $args ) ) {
		$args = array(
			'in_footer' => (bool) $args,
	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );

	$wp_scripts = wp_scripts();

	$registered = $wp_scripts->add( $handle, $src, $deps, $ver );
	if ( ! empty( $args['in_footer'] ) ) {
		$wp_scripts->add_data( $handle, 'group', 1 );
	if ( ! empty( $args['strategy'] ) ) {
		$wp_scripts->add_data( $handle, 'strategy', $args['strategy'] );
	return $registered;