remove_submenu_page()


関数WordPressremove_submenu_page()は、管理画面の特定のサブメニューを非表示にするために使用されます。この関数を利用することで、管理画面のナビゲーションをカスタマイズすることができます。

構文

remove_submenu_page( string $menu_slug, string $submenu_slug );

引数の説明:

  • $menu_slug (string) — 親メニューのスラッグ。このメニューのサブメニューがターゲットになります。
  • $submenu_slug (string) — 非表示にしたいサブメニューのスラッグ。

例 1. 投稿メニューから「カテゴリー」を削除する

以下のコードは、投稿メニューから「カテゴリー」のサブメニューを非表示にします。

<?php
add_action( 'admin_menu', function() {
    remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );
} );
?>

例 2. 外観メニューから「カスタマイズ」を削除する

外観メニューの「カスタマイズ」を非表示にするコードです。

<?php
add_action( 'admin_menu', function() {
    remove_submenu_page( 'themes.php', 'customize.php' );
} );
?>

例 3. プラグインメニューから「プラグインエディタ」を削除する

以下は、プラグインメニューから「プラグインエディタ」を非表示にする方法です。

<?php
add_action( 'admin_menu', function() {
    remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
} );
?>

例 4. ユーザーメニューから「あなたのプロフィール」を削除する

このコードは、ユーザーメニューの「あなたのプロフィール」を非表示にします。

<?php
add_action( 'admin_menu', function() {
    remove_submenu_page( 'users.php', 'profile.php' );
} );
?>

例 5. ツールメニューから「インポート」を削除する

ツールメニュー内の「インポート」を非表示にするコードです。

<?php
add_action( 'admin_menu', function() {
    remove_submenu_page( 'tools.php', 'import.php' );
} );
?>

注意点

  • この関数は、指定したメニューとサブメニューのスラッグが正しい場合にのみ機能します。
  • カスタムプラグインやテーマによって追加されたメニューは、削除が無効化される可能性があります。
  • 非表示にしたサブメニューに直接アクセスするURLを知っているユーザーは、権限がある場合アクセス可能です。

関連機能: