WP_Scripts クラスの使い方|説明・引数・注意点

説明

WP_Scripts は、登録済みのJavaScriptを管理するクラスです。グローバル変数 $wp_scripts から使います。

基本構文

global $wp_scripts

引数

  • registered:登録済みのスクリプト一覧
  • queue:キューに入っているスクリプト

戻り値

スクリプトの登録情報を持つオブジェクト。

使い方(サンプル)

global $wp_scripts;
$list = array_keys( $wp_scripts->registered );

注意点

  • 登録・読み込みは wp_enqueue_script() を使います。

実務での使いどころ

  • 登録済みのスクリプトの、一覧や、読み込みの予約の状況を、調べるとき(global $wp_scripts)。
  • デバッグで、読み込まれているスクリプトの、ハンドル名を、確認するとき。

よくあるミスと対処

  • オブジェクトを、直接書き換えて、登録・解除している。通常は、wp_enqueue_script()・wp_deregister_script() などの関数を使う。
  • wp_enqueue_scripts フックより前に、$wp_scripts を参照し、まだ登録されていない。
  • ハンドル名を、推測で書いている。ページのソースや、$wp_scripts->registered で、確認する。
  • $wp_scripts が未初期化のことがある。wp_scripts() を使うほうが安全。

NG例

global $wp_scripts;
unset( $wp_scripts->registered['jquery'] ); // 直接書き換えている

OK例

add_action( 'wp_print_scripts', function () {
	global $wp_scripts;
	error_log( print_r( array_keys( $wp_scripts->registered ), true ) ); // ハンドル名の一覧を、確認する
} );

使い分け早見表

やりたいこと 使うもの
登録・予約の状況を、調べる $wp_scripts(WP_Scripts)
スクリプトを読み込む wp_enqueue_script()
スクリプトの状態を確認する wp_script_is()

関連項目

wp_enqueue_script()、wp_script_is()、wp_register_script()

公式リファレンス:WP_Scripts | WordPress Developer Resources

コメント

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