Change plid of existing administration menu items I'm building an internal portal for an organisation and I want to change the standard administration menu, putting a number of the front-facing website options under a menu item called 'Website' and the rest under 'Drupal Config'.

So I'm simply trying to change the plid of 'admin/content', but it's not working. Could somebody guide me on where I'm going wrong please?

function eac_sponsorship_menu_alter(&amp;$items) {

    $items['admin/content']['plid'] = 592; //592 is id of 'Website' menu item
    menu_link_save($items);

}


Also are there likely to be any repercussions from doing this? 

Note that in the final solution the plid wont be hard coded as "592", but will use a DB look up to get the mlid of the 'Website' menu.

Also it is not a cache issue, when checking the DB the plid of admin/content remains to be '1'.
If you want your own top level admin menu group, you should probably create your own parent menu item and section there using hook_menu

e.g admin/website and put your menu items under that.

/**
 * Implements hook_menu
 */
function my_module_menu(){

  $items = array();

  // Provide own admin configuration menu section
  // using system_admin_menu_block_page for item groups
  // Top level section
  $items['admin/website'] = array(
    'title' =&gt; 'Website', 
    'description' =&gt; 'Local website configuration.', 
    'page callback' =&gt; 'system_admin_menu_block_page', 
    'access arguments' =&gt; array('access administration pages'), 
    'file path' =&gt; drupal_get_path('module', 'system'),
    'file' =&gt; 'system.admin.inc',
  );
  // Child admin menu group
  $items['admin/website/config'] = array(
    'title' =&gt; 'Configuration',
    'description' =&gt; 'Configure website settings.',
    'page callback' =&gt; 'system_admin_menu_block_page',
    'access arguments' =&gt; array('access administration pages'),
    'type' =&gt; MENU_NORMAL_ITEM,
    'weight' =&gt; 50,
    'file path' =&gt; drupal_get_path('module', 'system'),
    'file' =&gt; 'system.admin.inc',
  );
  // Child group menu item
  $items['admin/website/config/advanced'] = array(
    'title' =&gt; 'Advanced settings',
    'description' =&gt; 'Configure advanced website settings.',
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; array('mymodule_website_settings_form'),
    'access arguments' =&gt; array('administer site configuration'),
    'type' =&gt; MENU_NORMAL_ITEM,
    'file' =&gt; 'includes/my_module.admin.inc',
  );

  return $items;

}


See system_menu for an example hook_menu using system_admin_menu_block_page