admin_enqueue_scripts フックの使い方|説明・引数・注意点

説明

admin_enqueue_scripts は、管理画面で、CSS・JavaScriptを読み込むためのアクションです。

基本構文

do_action( 'admin_enqueue_scripts', string $hook_suffix )

引数

  • $hook_suffix:現在の管理画面のページを表す識別子

戻り値

コールバックには $hook_suffix が渡されます。

使い方(サンプル)

add_action( 'admin_enqueue_scripts', function( $hook ) {
	if ( 'post.php' !== $hook ) {
		return;
	}
	wp_enqueue_script( 'my-admin', plugins_url( 'admin.js', __FILE__ ) );
} );

注意点

  • $hook_suffix で画面を絞らないと、すべての管理画面で読み込まれてしまいます。

実務での使いどころ

  • 管理画面で、CSSやJavaScriptを、読み込むとき。
  • 特定の管理画面のページだけで、読み込むとき(引数 $hook_suffix で判定)。

よくあるミスと対処

  • すべての管理画面で、読み込んでいる。$hook_suffix で、対象のページに絞る。
  • フロントに出したいのに、使っている。フロントには、wp_enqueue_scripts。
  • ログインページには効かない。ログインページには、login_enqueue_scripts。

NG例

add_action( 'admin_enqueue_scripts', function () {
	wp_enqueue_script( 'my-admin', plugins_url( 'admin.js', __FILE__ ) ); // すべての管理画面で読み込まれる
} );

OK例

add_action( 'admin_enqueue_scripts', function ( $hook_suffix ) {
	if ( 'toplevel_page_my-settings' !== $hook_suffix ) {
		return;
	}
	wp_enqueue_script( 'my-admin', plugins_url( 'admin.js', __FILE__ ), array(), '1.0.0', true );
} );

使い分け早見表

フック 対象
admin_enqueue_scripts 管理画面
wp_enqueue_scripts フロント
login_enqueue_scripts ログインページ

関連項目

wp_enqueue_scripts、get_current_screen()、wp_enqueue_script()

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

コメント

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