We'll create fresh WordPress site with Embed JavaScript File Content installed. You have 20 minutes to test the plugin after that site we'll be deleted.
In some critical cases you cannot wait for a JavaScript file to load. Then you can benefit from better performance, if you embed the JavaScript code directly into the <script>
tag. This is where this plugin comes in: It provides a filter embed_javascript_file_content_handles
, which takes JavaScript handles and echos their code content into the DOM instead of linking to a file.
Please beware that placing lots of embedded JavaScript code can be critical! First you lose caching benefits and second the document size can increase easily. A general rule of thumb is that you should only consider JavaScript files for inline placement, which are critical and which have a file size lower than ~500 Bytes.
add_action( 'wp_enqueue_scripts', 'my_scripts' );
function my_scripts() {
// Some critical script is enqueued
wp_enqueue_script( 'js-detection', get_template_directory_uri() . '/js/js-detection.js' );
}
/**
* Define JavaScript handles to be echoed inline in the html head section.
*/
add_filter( 'embed_javascript_file_content_handles', 'my_embed_javascript_file_content_handles' );
function my_embed_javascript_file_content_handles( $handles ) {
$scripts = [ 'js-detection' ];
return array_merge( $handles, $scripts );
}