WEB制作のための情報サイト / unazuki Library

wp_enqueue_script()

基本構文と使い方(引数・実行結果)

基本構文

スクリプトを登録し、読み込み対象としてキューに追加します。キューに追加されたスクリプトは、wp_head()wp_footer() が出力されるタイミングで自動的に読み込まれ、サイトに適用されます。

wp_enqueue_script($handle,$src,$deps,$ver,$args);

引数

引数必須/任意引数に指定するもの
第1引数
$handle
必須スクリプトのハンドル名(文字列
※ハンドル名はスクリプトに割り当てる固有の名前です。
第2引数
$src
任意スクリプトのパス(文字列
初期値'' (空の文字列)
第3引数
$deps
任意このスクリプトが依存する他のスクリプトのハンドル名(配列
初期値[] (空の配列)
※他のスクリプトのハンドル名を指定するとそのスクリプトよりも後に呼び出されます。
第4引数
$ver
任意スクリプトのバージョン(文字列
初期値false
第5引数
$args
任意【真偽値で指定する場合】
スクリプトをwp_footer()で出力する場合はtrue、wp_head()で出力する場合はfalse
初期値false

【配列で指定する場合】
他のオプションと合わせて配列で指定も可能。
strategy'async' / 'defer'
in_footer'false' (wp_footer()で出力するならtrue)

[
'strategy' => 'async',
'in_footer' => false,
]

初期値[] (空の配列)

実行結果

スクリプトを登録し、読み込み対象としてキューに追加します。

例1.script.jsをキューに追加

下記の例では、get_theme_file_uri()を使ってテーマ直下にあるjsディレクトリ内のscript.jsをキューに追加しています。第5引数がtrueのため、キューに追加されたjsはwp_footer()で呼び出されます。

wp_enqueue_script('main', get_theme_file_uri('/js/script.js'), ['swiper'], '1.0', true);

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

よくある使い方

下記の例では、2つのCSSをwp_enqueue_style()で、2つのJavaScriptをwp_enqueue_script()でキューに追加しています。

function my_theme_scripts() {
	wp_enqueue_style('main', get_theme_file_uri('/css/style.min.css'), ['swiper'], '2.1');
	wp_enqueue_style('swiper', get_theme_file_uri('/lib/swiper/swiper.min.css'), [], '1.1');
	wp_enqueue_script('main', get_theme_file_uri('/js/script.js'), ['swiper'], '1.0', true);
	wp_enqueue_script('swiper', get_theme_file_uri('/lib/swiper/swiper-bundle.min.js'), [], '1.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

このコードを実行すると下記のようにscript要素がwp_footer()で呼び出されます。なお、swiper.jsはswiper-bundle.min.jsに依存する指定なので(依存関係を指定する第3引数でswiperを指定)、見た目の順番通りではなく、swiper.jsはswiper-bundle.min.jsの後に呼び出されます。

結果例:
<script type="text/javascript" src="https://example.com/wp-content/themes/template-theme/lib/swiper/swiper-bundle.min.js?ver=1.0" id="swiper-js"></script>
<script type="text/javascript" src="https://example.com/wp-content/themes/template-theme/js/script.js?ver=1.0" id="main-js"></script>
※cssは割愛しています。

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
dynamic_sidebar() サイドバー(ウィジェットを配置するエリア)を表示する。
register_sidebar() ウィジェットを配置するためのエリアを登録する。
register_taxonomy() カスタムタクソノミーを追加する。
register_post_type() カスタム投稿タイプを登録する。
wp_enqueue_style() スタイルシートを登録し、読み込み対象としてキューに追加します。
add_editor_style() 編集画面でエディタ用のスタイルシートを読み込む。
add_theme_support() 指定した機能をテーマに追加する。