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

説明

remove_submenu_page() は、管理画面のサブメニュー項目を削除する関数です。

基本構文

remove_submenu_page( string $menu_slug, string $submenu_slug ): array|false

引数

  • $menu_slug:親メニューのスラッグ
  • $submenu_slug:サブメニューのスラッグ

戻り値

削除した項目。見つからなければ false。

使い方(サンプル)

remove_submenu_page( 'themes.php', 'theme-editor.php' );

注意点

  • 非表示にするだけで、直接URLを開くとアクセスできます。

実務での使いどころ

  • 特定のサブメニュー(パーマリンク設定など)を、非表示にするとき。

よくあるミスと対処

  • メニューを消すだけで、URLを直接開けば、アクセスできる。
  • 親メニューのスラッグと、サブメニューのスラッグを、取り違えている。
  • 追加の処理より前に実行され、消えない。admin_menu フックの優先度を、大きくする。

NG例

remove_submenu_page( 'options-permalink.php', 'options-general.php' ); // 親とサブの、スラッグが逆

OK例

add_action( 'admin_menu', function () {
	remove_submenu_page( 'options-general.php', 'options-permalink.php' );
}, 999 );

使い分け早見表

関数 対象
remove_submenu_page() サブメニュー
remove_menu_page() トップレベルのメニュー
add_submenu_page() サブメニューを追加する

関連項目

remove_menu_page()、add_submenu_page()

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

コメント

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