wp_get_script_tag

The timeline below displays how wordpress function wp_get_script_tag has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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));
}

WordPress Version: 5.7

/**
 * 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')) {
        $attributes['type'] = 'text/javascript';
    }
    /**
     * 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));
}