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

説明

admin_notices(フック)() は、管理画面の上部に、通知(お知らせ)を表示するためのフックです。

基本構文

add_action( 'admin_notices', callable $callback )

引数

  • callback:通知のHTMLを出力する関数

戻り値

フックなので戻り値はありません。

使い方(サンプル)

add_action( 'admin_notices', function() {
	echo '<div class="notice notice-success is-dismissible"><p>保存しました</p></div>';
} );

注意点

  • 通知のクラスは notice-success、notice-error、notice-warning、notice-info を使い分けます。
  • 出力する文字列は、必ずエスケープします。

実務での使いどころ

  • 管理画面の上部に、通知(成功、エラー、警告)を表示するとき。
  • プラグインの設定が、足りないときの、案内を出すとき。

よくあるミスと対処

  • すべての管理画面で、毎回表示している。必要な画面だけに、絞る(get_current_screen() で判定)。
  • メッセージを、エスケープしていない。
  • クラスを間違えている。notice-success・notice-error・notice-warning・notice-info を使う。
  • マルチサイトの、ネットワーク管理画面では、network_admin_notices フックを使う。

NG例

add_action( 'admin_notices', function () {
	echo '<div class="error">' . $message . '</div>'; // 古いクラス名で、エスケープもない
} );

OK例

add_action( 'admin_notices', function () {
	printf(
		'<div class="notice notice-warning is-dismissible"><p>%s</p></div>',
		esc_html( '設定が完了していません。' )
	);
} );

使い分け早見表

方法 特徴
admin_notices フック 管理画面の上部に、通知を出す場所
wp_admin_notice() 通知のHTMLを、出力する関数(WordPress 6.4以降)
add_settings_error() 設定の保存結果を、通知する

関連項目

add_settings_error()、wp_admin_notice()

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

コメント

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