2026年6月23日

2026年6月23日

WordPressのwp_enqueue_scriptsでJS・CSSを読み込む方法

はじめに

WordPressのカスタマイズにおいて、テーマやプラグインで独自のJavaScriptとCSSファイルを効果的に読み込むことは重要なスキルです。この記事では、wp_enqueue_scripts関数を使用して外部リソースを適切に読み込む方法について詳しく説明します。

WordPressにおけるJavaScriptとCSSの管理は、ウェブサイトのパフォーマンスやユーザーエクスペリエンスに大きな影響を与えます。wp_enqueue_scripts関数は、これらのファイルを最適なタイミングで読み込み、必要ない場合は読み込まないように制御することができます。

症状・背景

このテーマが必要になる主な場面:

  • カスタムJavaScriptやCSSを追加する
  • テーマのカスタマイズに必要な外部リソースを管理する
  • 既存のプラグインと競合しないようにリソースを読み込む
  • WordPressのキャッシュ機能との互換性を確保する

手順・設定方法

ステップ1: 関数ファイルへの追加

# テーマディレクトリにあるfunctions.phpに次のコードを追加します。
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'my-theme-style', get_template_directory_uri() . '/css/style.css', array(), '1.0', 'all' );
}

// アクションフックを呼び出して関数を登録
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

ステップ2: JavaScriptの読み込み

# JavaScriptファイルを読み込むための関数を作成します。
function my_theme_enqueue_scripts() {
    wp_register_script('jquery-validate', get_template_directory_uri().'/js/jquery.validate.min.js', array('jquery'), '1.19.3', true);
    wp_enqueue_script( 'jquery-validate' );
}

// アクションフックを呼び出して関数を登録
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_scripts' );

ステップ3: 複数のCSSやJSファイルを読み込む

# テーマディレクトリに複数のCSSとJavaScriptファイルがある場合、それらをすべて登録します。
function my_theme_enqueue_styles_and_scripts() {
    wp_register_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.css', array(), '5.1.3' );
    wp_enqueue_style( 'bootstrap' );

    // JavaScript
    wp_register_script('main-js', get_template_directory_uri().'/js/main.js', array('jquery'), null, true);
    wp_enqueue_script( 'main-js' );
}

// アクションフックを呼び出して関数を登録
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles_and_scripts' );

ステップ4: デバッグとトラブルシューティング

# JavaScriptやCSSファイルが読み込まれていない場合、以下の方法でデバッグします。
function debug_script_loading() {
    if ( ! empty( $_GET['debug'] ) && isset($_GET['file']) ) {
        $file = sanitize_text_field( wp_unslash( $_GET['file'] ) );
        echo "Loading file: {$file}";
        // ファイルの存在と読み込みを確認
        if ( file_exists( get_template_directory() . "/{$file}" ) && is_readable(get_template_directory() . "/{$file}") ) {
            echo "File exists and readable.";
        } else {
            echo "File does not exist or is not readable.";
        }
    }
}

// アクションフックを呼び出して関数を登録
add_action( 'wp_footer', 'debug_script_loading' );

注意事項

  • ファイルの読み込み順序に注意する: wp_enqueue_stylewp_enqueue_scriptは依存関係に対応していますが、適切な順番で呼び出す必要があります。
  • キャッシュ対策を実装する: 特定のファイルに対してキャッシュバリアントを使用することで、更新時にユーザーに最新のファイルが提供されます。
  • 組み込みjQueryの使用: WordPressではjQueryが既に読み込まれているため、独自でjQueryを読み込む必要はありません。
  • ローカル開発環境とライブサイトでの差異: ローカル開発環境では一部の機能が動作しない場合があります。適切なURLやファイルパスを使用すること。

まとめ

1. wp_enqueue_scripts: ウェブページで必要なJavaScriptとCSSを読み込むためのアクションフック。

2. wp_register_script/Style: 関数内で使用する前にスクリプトやスタイルシートを登録します。

3. 依存関係の設定: 他のファイルに依存している場合、それらを適切な順番で読み込む必要があります。

4. デバッグとトラブルシューティング: エラーが発生した場合は、その原因を特定し、問題を解決するための手順を実施します。

5. パフォーマンス最適化: 必要なファイルのみ読み込むことで、ウェブサイトのロード時間を短縮することが可能です。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ