Skip to content

Adding Widget Areas to the Home Page

Eric Debelak edited this page Jul 22, 2017 · 1 revision

The home page is made up of widgets. There are defined in functions.php

//* register homepage 5 widgets
genesis_register_sidebar(array(
    'id' => 'home-widget-1',
    'name' => __('Home Widget 1', 'genesis'),
    'description' => __('First widget on the home page', 'Starter Theme'),
));
genesis_register_sidebar(array(
    'id' => 'home-widget-2',
    'name' => __('Home Widget 2', 'genesis'),
    'description' => __('Second widget on the home page', 'Starter Theme'),
));
genesis_register_sidebar(array(
    'id' => 'home-widget-3',
    'name' => __('Home Widget 3', 'genesis'),
    'description' => __('Third widget on the home page', 'Starter Theme'),
));
genesis_register_sidebar(array(
    'id' => 'home-widget-4',
    'name' => __('Home Widget 4', 'genesis'),
    'description' => __('Fourth widget on the home page', 'Starter Theme'),
));
genesis_register_sidebar(array(
    'id' => 'home-widget-5',
    'name' => __('Home Widget 5', 'genesis'),
    'description' => __('Fifth widget on the home page', 'Starter Theme'),
));

And then they are included in home page in front-page.php


add_action('genesis_after_header', 'add_home_page_widgets');
function add_home_page_widgets() {
  genesis_widget_area( 'home-widget-1', array(
		'before' => '<div id="home-widget-1" class="home-widget-1 widget-area"><div class="wrap">',
		'after'  => '</div></div>',
  ) );
  genesis_widget_area( 'home-widget-2', array(
		'before' => '<div id="home-widget-2" class="home-widget-2 widget-area"><div class="wrap">',
		'after'  => '</div></div>',
  ) );
  genesis_widget_area( 'home-widget-3', array(
		'before' => '<div id="home-widget-3" class="home-widget-3 widget-area"><div class="wrap">',
		'after'  => '</div></div>',
  ) );
  genesis_widget_area( 'home-widget-4', array(
		'before' => '<div id="home-widget-4" class="home-widget-4 widget-area"><div class="wrap">',
		'after'  => '</div></div>',
  ) );
  genesis_widget_area( 'home-widget-5', array(
		'before' => '<div id="home-widget-5" class="home-widget-5 widget-area"><div class="wrap">',
		'after'  => '</div></div>',
  ) );
}

To add more widgets, simply register more widgets in functions.php and add them to the add_home_page_widgets function in front-page.php