Adding a Custom Region to a Drupal Theme

In template.php add:

/**
* Add custom regions.
*/

function themename_regions() {
  return array(
       'left' => t('left sidebar'),
       'right' => t('right sidebar'),
       'content' => t('content'),
       'header' => t('header'),
       'footer' => t('footer'),
       'custom_region' => t('custom region'),
   );
}

Note that you must use the name of your theme in the function name because phptemplate_regions() is already taken.

In your theme tpl, add:

<?php if ($custom_region) print $custom_region; ?>