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

説明

WP_Screen は、管理画面の現在のページの情報を表すクラスです。get_current_screen() が返します。

基本構文

WP_Screen

引数

  • id:画面ID
  • base:画面の基本種別
  • post_type:投稿タイプ
  • taxonomy:タクソノミー
  • is_block_editor():ブロックエディターか

戻り値

WP_Screen オブジェクト。

使い方(サンプル)

$screen = get_current_screen();
if ( $screen && 'post' === $screen->base ) {
	// 投稿の編集画面
}

注意点

  • 早いタイミングでは null になるため、存在確認をします。

実務での使いどころ

  • 管理画面の、今のページ(画面のID、投稿タイプ、基本の種類)を、判定するとき。
  • 特定の画面でだけ、スクリプトや通知を、出すとき。

よくあるミスと対処

  • current_screen より前(admin_init など)で、取得し、null になる。
  • フロント側で、呼んでいる。管理画面でしか、使えない。
  • 画面のIDを、確認せずに、決め打ちしている。

NG例

add_action( 'admin_init', function () {
	$screen = get_current_screen();
	echo $screen->id; // null のとき、エラーになる
} );

OK例

add_action( 'current_screen', function ( $screen ) {
	if ( 'edit-post' === $screen->id ) {
		// 投稿の一覧画面
	}
} );

使い分け早見表

やりたいこと 使うもの
今の画面を取得する get_current_screen()
管理画面かを判定する is_admin()
画面ごとに、処理を分ける current_screen フック

関連項目

get_current_screen()、is_admin()

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

コメント

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