今回はワードプレスの管理画面の左メニューの順位を入れ替えたり消す方法のコードをご紹介します。
ワードプレスの管理画面左メニュー順序を配列で取得、変更する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ドクターまでお気軽にお送りください。