How to automatically load block--[blockname].tpl.php to region--[regionname].tpl.php I have multiple customized blocks with different content (eg. Advertisements, Quotes, Youtube videos, etc..)

block--apple.tpl.php
block--pineapple.tpl.php
block--orange.tpl.php


Question: How can I automatically assign these blocks from different regions for example:

block--apple to sidebar_first region
block--pineapple to sidebar_right region
block--orange to region--myCustomRegion


Is there a theme function that automatically fills my target REGIONs with these BLOCKs without using the dashboard. I just want all blocks is ready when my theme is installed.
Thank you very much in advance.
There is no theming function to do this, and there cannot be, because assigning block to regions is more logic than theming matter. So you should do it at module level.

When you are implementing hook_block_info(), you can specify default region, like this:

$blocks['example_empty'] = array(
  'info' =&gt; t('Example: empty block'),
  'status' =&gt; TRUE,
  'region' =&gt; 'sidebar_first',
  'visibility' =&gt; BLOCK_VISIBILITY_LISTED,
  'pages' =&gt; 'node/*',
);


You can also use hook_block_info_alter() to provide default regions for blocks not defined in your module.

See Examples for developers, block example for more details and samples.