Force an empty region to display I'm looking for a way to force an empty region to display. I notice Omega does this via a theme-settings checkbox, but I'm unable to track down how it's done. 

Regardless of removing the if ($page['regionname']): around print render, the region still does not display unless it's populated with block content. Perhaps injecting content into the $content var somehow? 

Example: 

In a custom theme, the header variables such as logo, sitename and secondary links are placed in a region template called region--branding.tpl.php.. (the variables have to be passed from preprocess_page to preprocess_region so this can work and a template suggestion needs to be made). Once this region is printed in page.tpl.php, it must always be rendered even if there is no block content in that area.
Omega does it this way:

in omega.info

settings[alpha_region_xxx_force] = ''


in `omega/alpha/includes/theme-settings-structure.inc

$form['alpha_settings']['structure'][$section][$zone]['regions'][$region]['alpha_region_' . $region . '_force'] = array(
  '#type' =&gt; 'checkbox',
  '#title' =&gt; t('Force this region to be rendered'),
  '#description' =&gt; t('Enabling this will always render this region, even if it is empty.'),
  '#default_value' =&gt; $item['force'],
);


Call alpha_alpha_page_structure_alter() in alpha_page_alter()

#omega/alpha/template.php
foreach ($theme-&gt;regions as $region =&gt; $item) {
    if (($item['force'] || !empty($vars[$region]))) {
      $temporary[$item['section']][$item['zone']][$region] = !empty($vars[$region]) ? $vars[$region] : array();
...


this way your code should be:

function THEMENAME_page_alter(&amp;$page) {
    $regions = system_region_list($GLOBALS['theme'], REGIONS_ALL);
    foreach ($regions as $region =&gt; $name) {
        $page[$region] = !empty($page[$region]) ? $page[$region] : array();
    }
}