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

説明

wp_script_is() は、スクリプトが登録済み・キュー済み・出力済みかなどの状態を調べる関数です。

基本構文

wp_script_is( string $handle, string $status = 'enqueued' ): bool

引数

  • $handle:スクリプトの識別名
  • $status:registered / enqueued / done / to_do

戻り値

状態に合致すれば true。

使い方(サンプル)

if ( wp_script_is( 'jquery', 'registered' ) ) {
	wp_enqueue_script( 'jquery' );
}

注意点

  • jQueryが登録されているかの確認などに使えます。

実務での使いどころ

  • スクリプトが、すでに読み込みの予約や、登録されているかを確認するとき。
  • 他のプラグインが読み込んでいる場合に、二重に読み込まないようにするとき。

よくあるミスと対処

  • $status を省略している。既定は enqueued(読み込みの予約済み)で、「登録済み」とは意味が違う。
  • wp_enqueue_scripts が終わる前に判定すると、まだ予約されていない。
  • 「出力済み」を調べたいのに、enqueued で判定している。出力済みは done。

NG例

if ( wp_script_is( 'my-script' ) ) {
	// 登録済みかを確認したつもり(予約済みかを確認している)
}

OK例

if ( wp_script_is( 'my-script', 'registered' ) ) {
	wp_enqueue_script( 'my-script' );
}

使い分け早見表

$status 意味
registered 登録されている
enqueued 読み込みが予約されている(既定)
done すでにHTMLに出力された
to_do 出力待ち

関連項目

wp_style_is()、wp_enqueue_script()

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

コメント

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