8.5.x module.inc module_load_include($type, $module, $name = NULL)
8.0.x module.inc module_load_include($type, $module, $name = NULL)
8.1.x module.inc module_load_include($type, $module, $name = NULL)
8.2.x module.inc module_load_include($type, $module, $name = NULL)
8.3.x module.inc module_load_include($type, $module, $name = NULL)
8.4.x module.inc module_load_include($type, $module, $name = NULL)
8.6.x module.inc module_load_include($type, $module, $name = NULL)
6.x module.inc module_load_include($type, $module, $name = NULL)
7.x module.inc module_load_include($type, $module, $name = NULL)

Loads a module include file.


// Load node.admin.inc from the node module.
module_load_include('inc', 'node', 'node.admin');

// Load content_types.inc from the node module.
module_load_include('inc', 'node', 'content_types');

Do not use this function to load an install file, use module_load_install() instead. Do not use this function in a global context since it requires Drupal to be fully bootstrapped, use require_once DRUPAL_ROOT . '/path/file' instead.

@todo The module_handler service has a loadInclude() method which performs this same task but only for enabled modules. Figure out a way to move this functionality entirely into the module_handler while keeping the ability to load the files of disabled modules.


$type: The include file's type (file extension).

$module: The module to which the include file belongs.

$name: (optional) The base file name (without the $type extension). If omitted, $module is used; i.e., resulting in "$module.$type" by default.

Return value

The name of the included file, if successful; FALSE otherwise.

34 calls to module_load_include()
content_translation_form_field_config_edit_form_alter in core/modules/content_translation/content_translation.module
Implements hook_form_FORM_ID_alter() for 'field_config_edit_form'.
content_translation_form_language_content_settings_form_alter in core/modules/content_translation/content_translation.module
Implements hook_form_FORM_ID_alter() for language_content_settings_form().
content_translation_preprocess_language_content_settings_table in core/modules/content_translation/content_translation.module
Implements hook_preprocess_HOOK() for language-content-settings-table.html.twig.
DbUpdatesTrait::includeUpdates in core/modules/system/src/Tests/Update/DbUpdatesTrait.php
Conditionally load Update API functions for the specified group.
install_import_translations in core/includes/install.core.inc
Imports languages via a batch process during installation.

... See full list


core/includes/module.inc, line 128
API for loading and interacting with Drupal modules.


function module_load_include($type, $module, $name = NULL) {
  if (!isset($name)) {
    $name = $module;
  if (function_exists('drupal_get_path')) {
    $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/{$name}.{$type}";
    if (is_file($file)) {
      require_once $file;
      return $file;
  return FALSE;