web-dev-qa-db-fra.com

Est-il possible de déplacer les éléments du menu administrateur?

J'ai un site avec huit types de messages personnalisés. Chacun est enregistré avec 'menu_position' => 5 (sous le menu Post). Un des effets secondaires de plus de quatre CPT est que le menu Media apparaît maintenant au milieu de la liste des CPT (voir image).

Admin menu with many custom post types

Ma solution consiste à dupliquer l'élément de menu Média dans une position plus basse, puis à désélectionner l'élément de menu Média d'origine:

add_action( 'admin_head', 'change_menu_items' );

function change_menu_items() {

    global $menu;

    $menu[14] = $menu[10];
    unset( $menu[10] );

}

Ma question est la suivante: cela risque-t-il de provoquer des effets secondaires imprévus? Je n'en ai pas encore rencontré, mais je voulais juste m'en assurer.

Merci!

3
Simon Blackbourn

cela pourrait fonctionner:

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

function my_custom_menu_order($menu_ord) {
    if (!$menu_ord) return true;
    return array(
        'index.php', // the dashboard link
        'edit.php?post_type=custom_post_type',
        'edit.php?post_type=page', 
        'edit.php' // posts
            // add anything else you want, just get the url
    );
}
7
daxitude