今回はワードプレスの管理画面の左メニューの順位を入れ替えたり消す方法のコードをご紹介します。
ワードプレスの管理画面左メニュー順序を配列で取得、変更するmenu_orderフィルタ
ワードプレスのメニューの順序と内容は、menu_orderフィルタで取得変更することができます。下記のようなコードをテーマのFunctions.phpやプラグインに追加されることでメニュー順位を指定しなおすことができます。
// メニューの並び替え
function my_custom_menu_order($menu_order) {
if (!$menu_order) return true;
return array(
'index.php', //ダッシュボード
'separator1', //セパレータ1
'edit.php', //投稿
'edit.php?post_type=カスタムポストのスラグ', //カスタムポスト
'separator2', //セパレータ2
'edit.php?post_type=page', //固定ページ
'edit-comments.php', //コメント
'separator-last', //最後のセパレータ
'themes.php', //外観
'plugins.php', //プラグイン
'users.php', //ユーザー
'tools.php', //ツール
'options-general.php', //設定
'upload.php', //メディア (一番下に移動しました)
);
}
add_filter('custom_menu_order', 'my_custom_menu_order');
add_filter('menu_order', 'my_custom_menu_order');
コードを見るとこのリストには、メニューをクリックしたときのURLのwp-admin以下のファイル名が入っていることがわかりますね。
このリストはこのURLがお分かりになれば、いくつでも追加してそのメニュー順位を好きな順に配列で指定することが可能です。
※この配列に無いメニュー項目は最下部に全部移動して、消えるわけではございません。
ワードプレスの管理画面左メニューを消す方法
ワードプレスの管理画面の左メニューを消す(隠す)には、admin_initアクションで、remove_menu_pageを呼び出して、先ほどと同じように消したいページのwp-admin以下のURLを指定します。
function my_remove_menu_pages() {
remove_menu_page('edit.php'); // 投稿
remove_menu_page('upload.php'); // メディア
remove_menu_page('link-manager.php'); // リンク
remove_menu_page('edit-comments.php'); // コメント
remove_menu_page('edit.php?post_type=page'); // 固定ページ
remove_menu_page('plugins.php'); // プラグイン
remove_menu_page('themes.php'); // 外観
remove_menu_page('users.php'); // ユーザー
remove_menu_page('tools.php'); // ツール
remove_menu_page('options-general.php'); // 設定
}
add_action( 'admin_init', 'my_remove_menu_pages' );
上記の例は、ワードプレスの主要な管理画面メニューをほとんど全部消してしまう例です。
IF文で条件を指定すれば、特定のユーザーや権限のユーザーだけで管理画面の左メニューを一部見えなくするということも可能です。
WordPress ワードプレスのテーマ、プラグインのカスタマイズ(改造)、作成等のご相談・ご依頼はWPドクターまでお気軽にお送りください。





