WordPressでページ毎に別のJavaScriptを読み込む方法
- 2020.08.10
- JavaScript WordPress
- functions.php, JavaScript, WordPress
以前、ショートコードを使って自作のPHPやJavaScriptを動かす方法を紹介しましたが、今回は、ページ毎に別々のJavaScriptを読み込む方法をご紹介します。
目次
ファイルのアップロード
まず、スクリプトファイルを用意します。
例えば、トップページ用のスクリプトを、
myscript_front.js
その他のページ用が、
myscript_other.js
すべてのページで共通して読み込みたいスクリプトを、
myscript_common.js
とします。
アップロード先は?
ルートディレクトリ>wp-content>themes>利用中のテーマ>任意のディレクトリ>ここ!
functions.phpファイルの編集
次に、「functions.php」ファイルへアップロードしたスクリプトファイルを読み込むための関数を書き込みます。
if文を使ってトップページとそれ以外のページを分岐しています。
functions.php
function my_scripts_method() { // 条件分岐してスクリプトのパスを定義 if (is_front_page()){ $scriptPath = '/任意のディレクトリ/myscript_front.js'; } else { $scriptPath = '/任意のディレクトリ/myscript_other.js'; } // 定義したパスを使ってスクリプトファイルを読み込む wp_enqueue_script( 'custom_script', get_template_directory_uri() . $scriptPath, '', date("His"), ); // 同様に共通スクリプトを読み込む wp_enqueue_script( 'custom_script_common', get_template_directory_uri() . '/任意のディレクトリ/myscript_common.js', '', date("His"), ); } add_action('wp_enqueue_scripts', 'my_scripts_method');
functions.phpファイルの場所は?
ルートディレクトリ>wp-content>themes>利用中のテーマ>ここ!
解説
分岐で使用しているis_front_page()
関数
これは、トップページの場合にtrue
を返します。他に、is_home()
などがあります。これはブログページの場合にtrue
を返しますが、トップページをブログページに設定している場合などは分岐方法が変わってきます。
読み込みに使用しているwp_enqueue_script()
関数
この関数には、5つの引数があります。
1つ目の引数(名前) | 好きな名前を付けられます。(他とかぶらない名前) |
2つ目の引数(スクリプトURL) | スクリプトのパスを指定します。 |
3つ目の引数(直前に読み込みたいスクリプト) | 例えばjQuery依存のスクリプトを読み込み場合、array( 'jquery' ) と書きます。(なければ省略できます) |
4つ目の引数(パスの最後に付け足される文字列) | 上のサンプルでは、キャッシュ対策で日付を付け加えています。(省略してもいいです) |
5つ目の引数(挿入位置) | スクリプト挿入位置を</body> 終了タグの前にしたい場合は、true を。<head> 内にしたい場合は、false を指定。(省略するとfalse ) |
-
前の記事
JavaScriptでselect要素のoption(項目)をセレクトする 2020.07.27
-
次の記事
PhotoSwipeの使い方(最小限の実装) 2020.11.12
コメントを書く