WordPress Version: 6.4
/**
* Formats `<script>` loader tags.
*
* It is possible to inject attributes in the `<script>` tag via the {@see 'wp_script_attributes'} filter.
* Automatically injects type attribute if needed.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* @return string String containing `<script>` opening and closing tags.
*/
function wp_get_script_tag($attributes)
{
if (!isset($attributes['type']) && !is_admin() && !current_theme_supports('html5', 'script')) {
// Keep the type attribute as the first for legacy reasons (it has always been this way in core).
$attributes = array_merge(array('type' => 'text/javascript'), $attributes);
}
/**
* Filters attributes to be added to a script tag.
*
* @since 5.7.0
*
* @param array $attributes Key-value pairs representing `<script>` tag attributes.
* Only the attribute name is added to the `<script>` tag for
* entries with a boolean value, and that are true.
*/
$attributes = apply_filters('wp_script_attributes', $attributes);
return sprintf("<script%s></script>\n", wp_sanitize_script_attributes($attributes));
}