wp_register_script() の使い方|説明・引数・注意点

説明

wp_register_script() は、JavaScriptを登録だけして、読み込みは後で行う関数です。

基本構文

wp_register_script( string $handle, string|false $src, string[] $deps = array(), string|bool|null $ver = false, array|bool $args = array() ): bool

引数

  • $handle:識別名
  • $src:JSのURL
  • $deps:依存するスクリプト
  • $ver:バージョン
  • $args:フッター読み込みなどの指定

戻り値

登録できたら true。

使い方(サンプル)

wp_register_script( 'my-chart', get_theme_file_uri( 'js/chart.js' ), array(), '1.0', true );
wp_enqueue_script( 'my-chart' );

注意点

  • 登録するだけでは出力されません。
  • ショートコードなど、特定の場面でだけ読み込むスクリプトに向いています。

実務での使いどころ

  • JavaScriptを登録だけして、必要なときに、ハンドル名で読み込むとき。
  • wp_localize_script() や wp_add_inline_script() で、データを渡す前に、スクリプトを登録しておくとき。

よくあるミスと対処

  • 登録しただけで、読み込んでいない。登録は、読み込みの予約ではない。読み込むには、wp_enqueue_script() を呼ぶ。
  • 同じハンドル名で、すでに登録されている。後から登録しても、無視される。
  • wp_enqueue_scripts フックを使わずに、直接呼び出している。

NG例

add_action( 'wp_enqueue_scripts', function () {
	wp_register_script( 'my-script', get_theme_file_uri( '/js/main.js' ) );
	// 登録だけで、読み込まれない
} );

OK例

add_action( 'wp_enqueue_scripts', function () {
	wp_register_script( 'my-script', get_theme_file_uri( '/js/main.js' ), array( 'jquery' ), '1.0.0', true );
	wp_enqueue_script( 'my-script' );
} );

使い分け早見表

関数 役割
wp_register_script() 登録するだけ
wp_enqueue_script() 読み込みを予約する
wp_deregister_script() 登録を解除する

関連項目

wp_enqueue_script()、wp_deregister_script()

公式リファレンス:wp_register_script() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました