wp_register_script
で、ハンドル(名前みたいなもの)とJavaScriptファイルの紐づけをWPに認識させ、実際にそのスクリプトを利用する箇所(フック)でそのJavaScriptを表示させるのが wp_enqueue_script
です。
WPの場合処理上、出力する前に一度出力するスクリプト群をキューにためて、適切な順序で出力する処理があるため、enqueue
です。
wp_register_script
では依存関係も含めてWPに認識させられるので、例えばあるJSを利用するために必要となる別のJSを設定しておくことにより、wp_enqueue_script
で使いたいスクリプトだけを指定すれば、必要となる依存関係のスクリプトを合わせて読み込んでくれます。
wp_register_script
wp_enqueue_script
なお、ハンドルや依存関係の処理等をしないのであれば、wp_enqueue_script
だけの利用でも構いません。
追記
よみこむJavaScriptを仮に
とします。
このJavaScriptが動くためには別のスクリプト、
が必要なものとします。
※実際はJavaScriptそれぞれのフルパスが必要になりますが、その辺は省略させてください。
この際、 wp_enqueue_script
だけで書く場合、
PHP
1function output_script()
2{
3 wp_enqueue_script('required', 'required.js');
4 wp_enqueue_script('process', 'process.js', array('required') );
5}
6add_action( 'wp_enqueue_scripts', 'output_script' );
これで、出力のために2つの JavaScript がキューに入れられ、その他の処理でキューに入れられるJavaScriptと合わせて、適切な読み込み順序にWordPressが自動的に調整したうえで、出力されます。
これを wp_register_script
を使う場合に書き換えると、
PHP
1// 事前の段階で実行される処理として
2 wp_register_script('required', 'required.js' );
3 wp_register_script('process', 'process.js' , array( 'required' ) );
4
5 // この処理では使わないJavaScriptでも一覧化、依存関係管理ができます。
6 wp_register_script('othere-process', 'othere-process.js' , array( 'required' ) );
7
8
9// -----
10
11function output_script()
12{
13 wp_enqueue_script('process');
14}
15add_action( 'wp_enqueue_scripts', 'output_script' );
これで、事前に wp_register_script
で登録されている同名のハンドルのスクリプトが、依存関係が解決された形で読み込まれ、出力されます。
を分けて処理がかける、ということです。
こうすると、ハンドル名 process
がそのスクリプトであると管理されているので、仮に process
が複数の箇所で読み込まれていたとして、読み込むスクリプトが new-process.js
に変更になったとしても、1か所の修正ですべてに反映できます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/25 15:21
2016/07/25 15:30
2016/07/25 16:04
2016/07/25 16:13
2016/07/25 16:18
2016/07/25 16:37
2016/07/25 17:14