WordPressでショートコード内のJSをフッターで読み込む方法
作成日:
2018年12月19日
タイトルの
書き方が
難しい
要は、これまではjQueryの読み込みをヘッダーにしといたので、ショートコード内にスクリプトを直書きして出力していても問題無かったのだけれど、WordPressの高速化のためにjQueryなどのライブラリをフッターに読み込ませると、
PHP
function js_shortcode_insert() {
echo '<script>jQuery(document).ready(function ($) {...} );</script>';
}
add_shortcode( 'js_insert', 'js_shortcode_insert' );
のようなJSを直書きしているショートコードの場合、そのコードが読み込まれた時点ではまだjQueryライブラリは読み込まれていないので、エラーが発生します。
そこで、このような場合はwp_add_inline_script
を使って、
PHP
function js_shortcode_insert() {
$script = 'jQuery(document).ready(function ($) {...} );'; // ここにJSコード(<script>タグは不要)
wp_add_inline_script( 'jquery-core', $script, 'after' );
}
add_shortcode( 'js_insert', 'js_shortcode_insert' );
のように記述します。
wp_add_inline_script
https://elearn.jp/wpman/function/wp_add_inline_script.html
bool wp_add_inline_script( string $handle, string $data [ , string $position = 'after' ] ) インラインスクリプトを追加する。
wp_add_inline_script
の第一引数で、JSライブラリのハンドル名を指定します。ここでは、jQueryに依存するJSなのでjquery-coreを指定して、第二引数で読み込むJS、第三引数で読み込んでいるハンドル名の後ろに追加するため「after(省略可)」を指定します。
物草 灸太郎
WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。
関連投稿
Loading...
コメントをどうぞ