Custom module administration page template not working I've been trying to load a custom template for a custom module page in the administration section, but the template isn't being loaded. This is the code so far:

custom_theme.module

/**
 * Implements hook_menu().
 */
function module_custom_menu() {

    $template_path = drupal_get_path('module', 'module_custom') . '/templates';

    $items['admin/module-custom'] = array(
        'title' =&gt; 'Turnos',
        'description' =&gt; 'Custom module functionality',
        'position' =&gt; 'right',
        'weight' =&gt; -15,
        'page callback' =&gt; 'system_admin_menu_block_page',
        'access arguments' =&gt; array('administer site configuration'),
        'file' =&gt; 'system.admin.inc',
        'file path' =&gt; drupal_get_path('module', 'system'),
    );

    $items['admin/module-custom/availability'] = array(
        'title' =&gt; 'Captación de disponibilidad',
        'description' =&gt; 'Users availability functionality',
        'page callback' =&gt; 'user_availabity',
        'access arguments' =&gt; array('administer site configuration'),
        'type' =&gt; MENU_NORMAL_ITEM,
    );

    return $items;

}

/**
 * Implements hook_theme()
 */
function module_custom_theme($existing, $type, $theme, $path) {

    $template_path = drupal_get_path('module', 'module_custom') . '/templates';

    return array(
        'user_availability' =&gt; array(
            'variables' =&gt; array('users', NULL),
            'template' =&gt; 'module-custom-admin',
            'path' =&gt; $template_path
        )
    );

}

/**
 * Load user availability
 */
function user_availabity() {

    $users = entity_load('user');    
    return theme('user_availabity', $users);

}


module-custom-admin.tpl.php

&lt;div&gt;
    &lt;h2&gt;Template subtitle&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
    &lt;?php foreach ($users as $key =&gt; $user) : ?&gt;
        &lt;div&gt;
            &lt;?php print_r($user); ?&gt;
        &lt;/div&gt;
    &lt;?php endforeach; ?&gt;
&lt;/div&gt;


But the template's code isn't shown:

Thanks for any advice.
It is a well known issue of the hook_theme() function.

For successfully loading the template file, you have to follow the naming convention to rename the template name, which must be same as the theme key, with converting _ to -.

/**
 * Implements hook_theme()
 */
function module_custom_theme($existing, $type, $theme, $path) {

    $template_path = drupal_get_path('module', 'module_custom') . '/templates';

    return array(
        'user_availability' =&gt; array(
            'variables' =&gt; array('users', NULL),
            'template' =&gt; 'user-availability',
            'path' =&gt; $template_path
        )
    );

}