1. drupal
    1. 5
    2. 6
    3. 7
    4. 8
5 – 8 module_hook($module, $hook)

Determine whether a module implements a hook.


$module The name of the module (without the .module extension).

$hook The name of the hook (e.g. "help" or "menu").

Return value

TRUE if the module is both installed and enabled, and the hook is implemented in that module.

Related topics

▾ 9 functions call module_hook()

drupal_check_module in includes/
Check a module's requirements.
field_help in modules/field/field.module
Implements hook_help().
field_system_info_alter in modules/field/field.module
Implements hook_system_info_alter().
help_page in modules/help/
Menu callback; prints a page listing general help for a module.
module_disable in includes/
Disable a given set of modules.
module_invoke in includes/
Invoke a hook in a particular module.
node_hook in modules/node/node.module
Determine whether a node hook exists.
search_data in modules/search/search.module
Performs a search by calling hook_search_execute().
system_get_module_admin_tasks in modules/system/system.module
Generate a list of tasks offered by a specified module.


includes/, line 596

function module_hook($module, $hook) {
  $function = $module . '_' . $hook;
  if (function_exists($function)) {
    return TRUE;
  // If the hook implementation does not exist, check whether it may live in an
  // optional include file registered via hook_hook_info().
  $hook_info = module_hook_info();
  if (isset($hook_info[$hook]['group'])) {
    module_load_include('inc', $module, $module . '.' . $hook_info[$hook]['group']);
    if (function_exists($function)) {
      return TRUE;
  return FALSE;