回答編集履歴

1

追記

2016/07/25 16:32

投稿

kaz.Suenaga
kaz.Suenaga

スコア2037

test CHANGED
@@ -17,3 +17,119 @@
17
17
 
18
18
 
19
19
  なお、ハンドルや依存関係の処理等をしないのであれば、`wp_enqueue_script` だけの利用でも構いません。
20
+
21
+
22
+
23
+ ----
24
+
25
+ # 追記
26
+
27
+
28
+
29
+ よみこむJavaScriptを仮に
30
+
31
+
32
+
33
+ - proccess.js
34
+
35
+
36
+
37
+ とします。
38
+
39
+ このJavaScriptが動くためには別のスクリプト、
40
+
41
+
42
+
43
+ - required.js
44
+
45
+
46
+
47
+ が必要なものとします。
48
+
49
+ ※実際はJavaScriptそれぞれのフルパスが必要になりますが、その辺は省略させてください。
50
+
51
+
52
+
53
+ この際、 `wp_enqueue_script` だけで書く場合、
54
+
55
+
56
+
57
+ ```PHP
58
+
59
+ function output_script()
60
+
61
+ {
62
+
63
+ wp_enqueue_script('required', 'required.js');
64
+
65
+ wp_enqueue_script('process', 'process.js', array('required') );
66
+
67
+ }
68
+
69
+ add_action( 'wp_enqueue_scripts', 'output_script' );
70
+
71
+ ```
72
+
73
+
74
+
75
+ これで、出力のために2つの JavaScript がキューに入れられ、その他の処理でキューに入れられるJavaScriptと合わせて、適切な読み込み順序にWordPressが自動的に調整したうえで、出力されます。
76
+
77
+
78
+
79
+
80
+
81
+ これを `wp_register_script` を使う場合に書き換えると、
82
+
83
+
84
+
85
+ ```PHP
86
+
87
+ // 事前の段階で実行される処理として
88
+
89
+ wp_register_script('required', 'required.js' );
90
+
91
+ wp_register_script('process', 'process.js' , array( 'required' ) );
92
+
93
+
94
+
95
+ // この処理では使わないJavaScriptでも一覧化、依存関係管理ができます。
96
+
97
+ wp_register_script('othere-process', 'othere-process.js' , array( 'required' ) );
98
+
99
+
100
+
101
+
102
+
103
+ // -----
104
+
105
+
106
+
107
+ function output_script()
108
+
109
+ {
110
+
111
+ wp_enqueue_script('process');
112
+
113
+ }
114
+
115
+ add_action( 'wp_enqueue_scripts', 'output_script' );
116
+
117
+ ```
118
+
119
+
120
+
121
+ これで、事前に `wp_register_script` で登録されている同名のハンドルのスクリプトが、依存関係が解決された形で読み込まれ、出力されます。
122
+
123
+
124
+
125
+
126
+
127
+ - スクリプトの管理
128
+
129
+ - スクリプトの読み込み
130
+
131
+
132
+
133
+ を分けて処理がかける、ということです。
134
+
135
+ こうすると、ハンドル名 `process` がそのスクリプトであると管理されているので、仮に `process` が複数の箇所で読み込まれていたとして、読み込むスクリプトが `new-process.js` に変更になったとしても、1か所の修正ですべてに反映できます。