7.x system.api.php hook_admin_paths()

Define administrative paths.

Modules may specify whether or not the paths they define in hook_menu() are to be considered administrative. Other modules may use this information to display those pages differently (e.g. in a modal overlay, or in a different theme).

To change the administrative status of menu items defined in another module's hook_menu(), modules should implement hook_admin_paths_alter().

Return value

An associative array. For each item, the key is the path in question, in a format acceptable to drupal_match_path(). The value for each item should be TRUE (for paths considered administrative) or FALSE (for non- administrative paths).

See also




Related topics

11 functions implement hook_admin_paths()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

block_admin_paths in modules/block/block.module
Implements hook_admin_paths().
book_admin_paths in modules/book/book.module
Implements hook_admin_paths().
node_admin_paths in modules/node/node.module
Implements hook_admin_paths().
openid_admin_paths in modules/openid/openid.module
Implements hook_admin_paths().
overlay_admin_paths in modules/overlay/overlay.module
Implements hook_admin_paths().

... See full list

1 invocation of hook_admin_paths()
path_get_admin_paths in includes/path.inc
Gets a list of administrative and non-administrative paths.


modules/system/system.api.php, line 508
Hooks provided by Drupal core and the System module.


function hook_admin_paths() {
  $paths = array(
    'mymodule/*/add' => TRUE,
    'mymodule/*/edit' => TRUE,
  return $paths;


rszrama’s picture

Note that system_admin_paths() specifies admin/* as an admin path, so modules that only place administrative pages beneath admin (such as admin/commerce/products) should not need to implement hook_admin_paths().

dalin’s picture

To use the compiled list of paths see

jonhattan’s picture