是否可以移动管理菜单项?

时间:2011-02-25 作者:Simon Blackbourn

我有一个有八种自定义帖子类型的网站。每个都注册于\'menu_position\' => 5 (位于Post菜单下方)。拥有四个以上CPT的一个副作用是,媒体菜单现在显示在CPT列表的中间(见图)。

Admin menu with many custom post types

我的解决方案是在较低位置复制介质菜单项,然后取消设置原始介质菜单项:

add_action( \'admin_head\', \'change_menu_items\' );

function change_menu_items() {

    global $menu;

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

}
我的问题是:这可能会导致任何不可预见的副作用吗?我还没有遇到过,只是想确定一下。

谢谢

1 个回复
最合适的回答,由SO网友:daxitude 整理而成

this might work:

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
    );
}
结束

相关推荐

JQuery和is_admin()的问题

我已经创建了一个插件在这个插件中,我有一个显示一些数据的函数在此函数中,我使用is_admin() 确定是否从后端调用该函数,因为这样我可以添加一些附加信息。在管理页面中,函数正常加载。使用jQuery进行更新后,调用该函数以显示新数据。问题是,当通过jQuery调用函数时is_admin() 是false, 即使我是后台管理模式。为什么不是is_admin 通过jQuery调用什么工作?Update 的代码is_admin() 在单击新事件(或更新现有事件)的保存按钮时调用。单击保存/更新后,通过jQ