管理画面のメニューの並びをクライアントが使う頻度の高いものが上部に来るように並べておいたり、または関連性のある者同士を上下になるようにすると親切な設計になりますよね。クライアントが使わないものは管理画面に表示しないようにもしておきたい。
functions.phpに以下のコードを書くことで並び替えできます。
function custom_menu_order($menu_ord) {
if(!$menu_ord) return true;
return array(
'index.php', //ダッシュボード
'separator1', //最初の区切り線
'edit.php', //投稿
'edit.php?post_type=page', //固定ページ
'upload.php', //メディア
'themes.php',//外観
'plugins.php',//プラグイン
'users.php',//ユーザー
'tools.php',//ツール
'options-general.php',//設定
'edit.php?post_type=posttype', //カスタム投稿タイプ名 'posttype'
'edit.php?post_type=mw-wp-form', //mw-wp-form
'edit.php?post_type=acf-field-group',//カスタムフィールド
);
}
add_filter('custom_menu_order', 'custom_menu_order');
add_filter('menu_order', 'custom_menu_order');
メニューから非表示にしたい場合はfunctions.phpに以下のように書きます。
function remove_menus() {
remove_menu_page( 'index.php' ); //ダッシュボード
remove_menu_page( 'edit.php' ); //投稿
remove_menu_page( 'edit.php?post_type=page' ); //固定ページ
remove_menu_page( 'upload.php' ); //メディア
remove_menu_page( 'themes.php' ); //外観
remove_menu_page( 'plugins.php' ); //プラグイン
remove_menu_page( 'users.php' ); //ユーザー
remove_menu_page( 'tools.php' ); //ツール
remove_menu_page( 'options-general.php' ); //設定
}
add_action( 'admin_menu', 'remove_menus' );
いろいろなカスタム投稿を作成した場合などに特に順番指定しておくと、見やすくなるので便利です。