You need to enqueue the scripts as well, not only register them. You can, however, just simply enqueue a script without registering it if you are not going to enqueue it conditionally.
I would try something like this: (Untested and requires PHP5.4+)
add_action( \'wp_enqueue_scripts\', enqueue_scripts, 11 );
function enqueue_scripts()
{
/**
* Build an array of scripts to enqueue
* key = script handle
* value = path to the script without the get_template_directory_uri()
*/
$scripts = [
\'script-1\' => \'/script.1.js\',
\'script-2\' => \'/js/script.2.js\',
\'script-3\' => \'/subfolder/script.3.js\',
];
foreach ( $scripts as $k=>$v )
wp_enqueue_script( $k, get_template_directory_uri() . $v );
}
EDIT
As explanation to a comment to the answer, the add_action()
call can go anywhere, it does not even needto be in the same template. It can go above or below the function declaration. I prefer to add the add_action()
call above the function as this just makes more sense when you think about closures. When using closures, the code above will look something like this:
add_action( \'wp_enqueue_scripts\', function ()
{
/**
* Build an array of scripts to enqueue
* key = script handle
* value = path to the script without the get_template_directory_uri()
*/
$scripts = [
\'script-1\' => \'/script.1.js\',
\'script-2\' => \'/js/script.2.js\',
\'script-3\' => \'/subfolder/script.3.js\',
];
foreach ( $scripts as $k=>$v )
wp_enqueue_script( $k, get_template_directory_uri() . $v );
}, 11 );
So you see, it just makes more sense :-)