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_styleとwp_enqueue_scriptは依存関係に対応していますが、適切な順番で呼び出す必要があります。 - キャッシュ対策を実装する: 特定のファイルに対してキャッシュバリアントを使用することで、更新時にユーザーに最新のファイルが提供されます。
- 組み込みjQueryの使用: WordPressではjQueryが既に読み込まれているため、独自でjQueryを読み込む必要はありません。
- ローカル開発環境とライブサイトでの差異: ローカル開発環境では一部の機能が動作しない場合があります。適切なURLやファイルパスを使用すること。
まとめ
1. wp_enqueue_scripts: ウェブページで必要なJavaScriptとCSSを読み込むためのアクションフック。
2. wp_register_script/Style: 関数内で使用する前にスクリプトやスタイルシートを登録します。
3. 依存関係の設定: 他のファイルに依存している場合、それらを適切な順番で読み込む必要があります。
4. デバッグとトラブルシューティング: エラーが発生した場合は、その原因を特定し、問題を解決するための手順を実施します。
5. パフォーマンス最適化: 必要なファイルのみ読み込むことで、ウェブサイトのロード時間を短縮することが可能です。
関連記事: