How to get the template file using hook block view? function tgs_user_block_info() {
  $blocks = array();

  $blocks['user-list'] = array(
    'info' =&gt; t('List of Users'),
  );

  return $blocks;
}


/**
 * Implements hook_block_view().
 */
function tgs_user_block_view($delta = '') {
  $block = array();

$variables['logo'] = theme_get_setting('logo');
$variables['module_path'] = drupal_get_path('module', 'tgs_user');
$variables['current_path'] = '/' . current_path() . '/';

switch($delta) {

  case 'user-list':
    $block['content'] = theme('user_list', $variables);
    break;
  }

  return $block;
}


/**
 * Implements hook_theme().
 */
function tgs_user_theme() {
  $theme = array();

  $theme['user_list'] = array(
    'template' =&gt; 'templates/users',
  );

  return $theme;
}


This is my code in module. It doesn't call in template that I have been created on my hook_theme.
Try doing it this way, you need to separate your template name from the filepath.

/**
* Implements hook_theme().
*/
function tgs_user_theme() {
  $theme = array();

  $theme['user_list'] = array(
    'path' =&gt;  drupal_get_path('module', 'my_module') . '/templates',
    'template' =&gt; 'my_template'
  );

  return $theme;
}