wp_add_inline_script( string $handle, string $data, string $position = 'after' )
Adds extra code to a registered script.
Contents
Description Description
Code will only be added if the script is already in the queue. Accepts a string $data containing the Code. If two or more code blocks are added to the same script $handle, they will be printed in the order they were added, i.e. the latter added code can redeclare the previous.
See also See also
Parameters Parameters
- $handle
-
(string) (Required) Name of the script to add the inline script to.
- $data
-
(string) (Required) String containing the javascript to be added.
- $position
-
(string) (Optional) Whether to add the inline script before the handle or after.
Default value: 'after'
Return Return
(bool) True on success, false on failure.
Source Source
File: wp-includes/functions.wp-scripts.php
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | function wp_add_inline_script( $handle , $data , $position = 'after' ) { _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ ); if ( false !== stripos ( $data , '</script>' ) ) { _doing_it_wrong( __FUNCTION__ , sprintf( /* translators: 1: <script>, 2: wp_add_inline_script() */ __( 'Do not pass %1$s tags to %2$s.' ), '<code><script></code>' , '<code>wp_add_inline_script()</code>' ), '4.5.0' ); $data = trim( preg_replace( '#<script[^>]*>(.*)</script>#is' , '$1' , $data ) ); } return wp_scripts()->add_inline_script( $handle , $data , $position ); } |
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
4.5.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
The following code can be used to easily add Typekit’s JavaScript to your theme:
function
mytheme_enqueue_typekit() {
wp_enqueue_script(
'mytheme-typekit'
,
'https://use.typekit.net/.js'
,
array
(),
'1.0'
);
wp_add_inline_script(
'mytheme-typekit'
,
'try{Typekit.load({ async: true });}catch(e){}'
);
}
add_action(
'wp_enqueue_scripts'
,
'mytheme_enqueue_typekit'
);
Which results in:
<script type=
"text/javascript"
src=
"https://use.typekit.net/.js?ver=1.0"
>
try
{Typekit.load({
async
:
true
});}
catch
(e){}
</script>
From https://make.wordpress.org/core/2016/03/08/enhanced-script-loader-in-wordpress-4-5/
For adding inline script
function
theme_prefix_enqueue_script() {
wp_enqueue_script(
'main-js'
,
'/main.js'
,
array
(),
'1.0'
);
wp_add_inline_script(
'main-js'
,
'alert("hello world");'
);
}
add_action(
'wp_enqueue_scripts'
,
'theme_prefix_enqueue_script'
);
For jQuery-dependent scripts use this:
function
theme_prefix_enqueue_script() {
if
( ! wp_script_is(
'jquery'
,
'done'
) ) {
wp_enqueue_script(
'jquery'
);
}
wp_add_inline_script(
'jquery-migrate'
,
'jQuery(document).ready(function(){});'
);
}
add_action(
'wp_enqueue_scripts'
,
'theme_prefix_enqueue_script'
);