管理画面のメニューの順番を変えるコード

WordPressの管理画面におけるメニューの順番を制御するには、プラグインを使う方法と、function.phpにコードを書き込む方法の2つがある。

これまでプラグインのadmin menu editorを使用していたが、プラグインの総数を減らすため、プラグインの代わりにfunction.phpにコードを書き込む方法に変えることにする。

以下のようなコードをfunction.phpに書き込む。


/**
 * 特定のコンテンツメニューだけを上部に並び替え、残りはデフォルトに任せる
 */

function my_custom_menu_order( $menu_ord ) {
    if ( ! $menu_ord ) return true;
    
    return array(
        'index.php',                  // ダッシュボード
        
        // --- 記事・コンテンツ系(ここだけ順番を固定) ---
        'edit.php',                   // 通常の「投稿」
        'edit.php?post_type=page',    // 固定ページ
        'upload.php',                 // メディア
        'edit-comments.php',          // コメント

     
        'separator1',                 // 区切り線1

        'edit.php?post_type=custom-post1',    // 【カスタム投稿】
        'edit.php?post_type=custom-post2',    // 【カスタム投稿】
        'edit.php?post_type=custom-post3',    // 【カスタム投稿】
        
        
        'separator2',                 // 区切り線2
        
        // --- 管理・設定系 ---
        'themes.php',                 // 外観
        'plugins.php',                // プラグイン
        'users.php',                  // ユーザー
        'tools.php',                  // ツール
        'options-general.php',        // 設定

        'separator-last',             // 最後の区切り線


    );
}
add_filter( 'custom_menu_order', '__return_true' );
add_filter( 'menu_order', 'my_custom_menu_order' );

Contact Form7が、「問い合わせ」のメニューを追加させるが、このメニューを制御したければ、以下のコードを人の場所に追加する。


          'wpcf7-dashboard',                      // お問い合わせ (Contact Form 7の場合)

区切り線は、separator1、separator2、separator-lastの3本までしか定義されていないので、separator3を記述しても機能しない。

記事の共有:

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

コメントは承認制となっております。表示されるまで数日かかる場合がありますのでご了承ください。