WordPressで特定のページでのみCSSやJSファイルを読み込む方法

WordPressで特定のページでのみCSSやJSファイルを読み込む方法 WordPress

WordPressでCSSやJSファイルを読み込むには、通常、テーマのfunctions.phpファイルにwp_enqueue_style()またはwp_enqueue_script()関数を記述します。これらの関数は、指定したCSSやJSファイルをページに読み込みます。

しかし、すべてのページで同じCSSやJSファイルを読み込むと、読み込み速度が遅くなったり、不要なファイルが読み込まれたりすることがあります。そこで、特定のページでのみCSSやJSファイルを読み込む方法を紹介します。

スポンサーリンク

functions.phpで条件分岐して読み込む

functions.phpに以下のコードを追加することで、特定のページでのみCSSやJSファイルを読み込むことができます。

// 特定のページでのみCSSファイルを読み込む
function my_enqueue_style() {
  if (is_page('指定したページのスラッグ')) {
    wp_enqueue_style('my-style', get_template_directory_uri() . '/css/my-style.css');
  }
}
add_action('wp_enqueue_scripts', 'my_enqueue_style');

// 特定のページでのみJSファイルを読み込む
function my_enqueue_script() {
  if (is_page('指定したページのスラッグ')) {
    wp_enqueue_script('my-script', get_template_directory_uri() . '/js/my-script.js');
  }
}
add_action('wp_enqueue_scripts', 'my_enqueue_script');

このコードでは、is_page()関数を使って、指定したページのスラッグと現在のページのスラッグが一致する場合にのみ、CSSやJSファイルを読み込むようにしています。

ページのカスタムフィールドで読み込むファイル名を指定

ページのカスタムフィールドに読み込むファイル名を指定することで、特定のページでのみCSSやJSファイルを読み込むことができます。

  1. 管理画面の「外観」→「カスタマイズ」→「カスタムフィールド」から、新しいカスタムフィールドを作成します。
  2. カスタムフィールドの「タイプ」を「テキスト」に設定します。
  3. カスタムフィールドの名前を「includeCSS」または「includeJS」にします。
  4. カスタムフィールドの値に、読み込むファイル名を指定します。
  5. カスタムフィールドを作成したページを編集します。
  6. カスタムフィールドの値を、読み込むファイル名に変更します。

この方法では、ページのカスタムフィールドに読み込むファイル名を指定することで、特定のページでのみCSSやJSファイルを読み込むことができます。

どちらの方法を使うかは?

どちらの方法を使うかは、サイトの状況に合わせて選択してください。

functions.phpで条件分岐して読み込む方法は、特定のページでのみCSSやJSファイルを読み込む必要がある場合に適しています。

ページのカスタムフィールドで読み込むファイル名を指定する方法は、ページごとに読み込むCSSやJSファイルを変更する必要がある場合に適しています。

よくある質問(FAQ)

Q. WordPressで特定のページにのみCSSやJSを読み込むにはどうすればよいですか?
A. wp_enqueue_scripts フックでis_page()などの条件タグを使って判断します:add_action("wp_enqueue_scripts", function(){ if(is_page("contact")){ wp_enqueue_style("contact-style", get_template_directory_uri()."/css/contact.css"); } });
Q. 特定の投稿IDのページのみCSS/JSを読み込むにはどうすればよいですか?
A. if(is_singular() && get_the_ID() == 123){ wp_enqueue_style("id-style", ...); }のように特定IDの場合に読み込みます。複数IDはin_array(get_the_ID(), [1, 5, 10])で判定します。
Q. 読み込み順序(依存関係)を正しく設定するにはどうすればよいですか?
A. wp_enqueue_script()の第4引数に依存するスクリプトのハンドル名を配列で渡します:wp_enqueue_script("my-script", $url, ["jquery"], "1.0", true);でjQuery読み込み後にmy-scriptが読み込まれます。第5引数trueでフッター(bodyの閉じ前)に読み込みます。

まとめ

WordPressで特定のページでのみCSSやJSファイルを読み込む方法は、2つあります。

  • functions.phpで条件分岐して読み込む方法
  • ページのカスタムフィールドで読み込むファイル名を指定

どちらの方法を使うかは、サイトの状況に合わせて選択してください。