回答編集履歴
1
追記
answer
CHANGED
@@ -7,4 +7,62 @@
|
|
7
7
|
[wp_register_script](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_register_script)
|
8
8
|
[wp_enqueue_script](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script)
|
9
9
|
|
10
|
-
なお、ハンドルや依存関係の処理等をしないのであれば、`wp_enqueue_script` だけの利用でも構いません。
|
10
|
+
なお、ハンドルや依存関係の処理等をしないのであれば、`wp_enqueue_script` だけの利用でも構いません。
|
11
|
+
|
12
|
+
----
|
13
|
+
# 追記
|
14
|
+
|
15
|
+
よみこむJavaScriptを仮に
|
16
|
+
|
17
|
+
- proccess.js
|
18
|
+
|
19
|
+
とします。
|
20
|
+
このJavaScriptが動くためには別のスクリプト、
|
21
|
+
|
22
|
+
- required.js
|
23
|
+
|
24
|
+
が必要なものとします。
|
25
|
+
※実際はJavaScriptそれぞれのフルパスが必要になりますが、その辺は省略させてください。
|
26
|
+
|
27
|
+
この際、 `wp_enqueue_script` だけで書く場合、
|
28
|
+
|
29
|
+
```PHP
|
30
|
+
function output_script()
|
31
|
+
{
|
32
|
+
wp_enqueue_script('required', 'required.js');
|
33
|
+
wp_enqueue_script('process', 'process.js', array('required') );
|
34
|
+
}
|
35
|
+
add_action( 'wp_enqueue_scripts', 'output_script' );
|
36
|
+
```
|
37
|
+
|
38
|
+
これで、出力のために2つの JavaScript がキューに入れられ、その他の処理でキューに入れられるJavaScriptと合わせて、適切な読み込み順序にWordPressが自動的に調整したうえで、出力されます。
|
39
|
+
|
40
|
+
|
41
|
+
これを `wp_register_script` を使う場合に書き換えると、
|
42
|
+
|
43
|
+
```PHP
|
44
|
+
// 事前の段階で実行される処理として
|
45
|
+
wp_register_script('required', 'required.js' );
|
46
|
+
wp_register_script('process', 'process.js' , array( 'required' ) );
|
47
|
+
|
48
|
+
// この処理では使わないJavaScriptでも一覧化、依存関係管理ができます。
|
49
|
+
wp_register_script('othere-process', 'othere-process.js' , array( 'required' ) );
|
50
|
+
|
51
|
+
|
52
|
+
// -----
|
53
|
+
|
54
|
+
function output_script()
|
55
|
+
{
|
56
|
+
wp_enqueue_script('process');
|
57
|
+
}
|
58
|
+
add_action( 'wp_enqueue_scripts', 'output_script' );
|
59
|
+
```
|
60
|
+
|
61
|
+
これで、事前に `wp_register_script` で登録されている同名のハンドルのスクリプトが、依存関係が解決された形で読み込まれ、出力されます。
|
62
|
+
|
63
|
+
|
64
|
+
- スクリプトの管理
|
65
|
+
- スクリプトの読み込み
|
66
|
+
|
67
|
+
を分けて処理がかける、ということです。
|
68
|
+
こうすると、ハンドル名 `process` がそのスクリプトであると管理されているので、仮に `process` が複数の箇所で読み込まれていたとして、読み込むスクリプトが `new-process.js` に変更になったとしても、1か所の修正ですべてに反映できます。
|