Voici comment charger un bloc directement depuis le code PHP (depuis un module ou le fichier page.tpl.php par exemple).

  1. Afficher un bloc Drupal (natif, bloc de contenu par exemple)
$block = module_invoke('block', 'block_view', 'ID_du_bloc'); 
print render($block['content']);

L'ID_du_bloc est disponible  lorsque vous éditez un bloc en backofficeadmin/structure/block/manage/block/D_du_bloc/configure

  1. Afficher un bloc Drupal créé avec Views
$block = module_invoke('views', 'block_view', 'Nom_du_bloc'); 
print render($block['content']);

Le Nom_du_bloc (paramètre Delta) est disponible lorsque vous éditez un bloc en backoffice : admin/structure/block/manage/views/Nom_du_bloc/configure

  1. Afficher un bloc Drupal créé via un module custom
$block = module_invoke('module_name', 'block_view', 'block_delta'); 
print render($block['content']);

Module_name correspond au nom du module, block_delta est disponible lorsque vous éditez un bloc en backoffice : admin/structure/block/manage/views/block_delta/configure

Vous trouverez plus d'information ici.