Removes given local enqueued script handles and places their content into the head. Useful for small scripts with a size lower than ~500 Bytes to boos …
| Author: | Palasthotel (Kim Meyer) (profile at wordpress.org) |
| WordPress version required: | 4.0 |
| WordPress version tested: | 5.4.1 |
| Plugin version: | 1.2.0 |
| Added to WordPress repository: | 11-03-2019 |
| Last updated: | 29-04-2020
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
| Rating, %: | 20 |
| Rated by: | 1 |
| Plugin URI: | |
| Total downloads: | 1 556 |
| Active installs: | 10+ |
![]() Click to start download |
|
CAUTION: This plugin is now deprecated! The successor plugin is Embed JavaScript File Content. The new plugin is rebuild from scratch and more rock solid: It respects order and position of scripts and extra scripts added via wp_add_inline_script or wp_localize_script don’t get lost. Give it a try!
In some cases you cannot wait for a JavaScript file to load, even if it is placed early in the <head> section of your template. You can benefit from better performance, if you place the JavaScript code directly inside a <script> tag into the header. This is where this plugin comes in: It provides a filter inline_javascript_in_head_handles, which takes JavaScript handles, dequeues those scripts and echos their code content inline into the head section instead of linking them via a script tag.
Please beware that placing lots of JavaScript code inline in the <head> section 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.
Example
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( 'inline_javascript_in_head_handles', 'my_inline_javascript_in_head_handles', -20 );
function my_inline_javascript_in_head_handles( $handles ) {
$scripts = [ 'js-detection' ];
return array_merge( $handles, $scripts );
}
ChangeLog
