説明
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

コメント