WordPress4.1 wp_enqueue_script()とインラインスクリプトをロードする新しい方法

少し前まで、

add_inline_style()

は、便利なんだけど、なんで、add_inline_script() って無いのよ! と 残念な気持ちだったあなたに

function my_enqueue_add_inline_script() {
	global $wp_scripts;

	wp_enqueue_script( 'my_adding_script', 'http://example.com/script.js' );
	$js= "/* hello my sctipt */";
	$wp_scripts->add_data( 'my_adding_script', 'data', $js );
}

add_action( 'wp_enqueue_scripts', 'my_enqueue_add_inline_script' );

と書くと、

<script type='text/javascript'>
/* <![CDATA[
 */
/* hello my sctipt */
/* ]]> */
</script>
<script type='text/javascript' src='http://example.com/script.js?ver=4.1.1'></script>

として、ヘッダーに挿入できたり、

script_loader_tag フィルタを使って

add_filter( 'script_loader_tag', 'my_script_loader_tag', 10, 3 );

function my_script_loader_tag( $tag, $handle, $src ) {

	if ( $handle== 'jquery-migrate' ) {
		return $tag . '<script>/* hello my script 2 */</script>' . "\n";
	}
	return $tag;
}
<script type='text/javascript' src='http://example.com/wp/wp-includes/js/jquery/jquery.js?ver=1.11.1'></script><script>jQueryWP= jQuery;</script>
<script type='text/javascript' src='http://example.com/wp/wp-includes/js/jquery/jquery-migrate.js?ver=1.2.1'></script>
<script>/* hello my script 2 */</script>

といった形で、スクリプトが挿入できるようになったみたいです。

便利ですねー

[emulsion_relate_posts]