Adding widgets areas to a page in Genesis is a common question that is often asked. Following are instructions on how to do this. In this example code, I added 7 widgets to the genesis_after_header hook to create a page intro section for individual pages. Then I used conditionals to show them on specific pages.
How to Add a Widget Area to a Genesis Page
First, you need to create the widget area. To add a new widget area to your child theme, you will need to add this example code to your child theme’s functions.php, or preferably to a sit-specific plugin.
You can change the ID, name, and description to fit your use case. So if this widget area is going on your contact page, for example, you could change the ID to something like “contact-widget” or “contactwidget.” Just make sure you change it in all the other steps.
Create the condition for displaying the widget area
I wanted the widget areas to display on different pages, so I added code to my functions.php file to tell the theme where the widget should go. If you notice on the page-intro-3 widget, I wanted it to appear on several pages including, the blog page, the home page, a single post page and an archive post page.
In each function above, we are using a hook to place the widget before any content on the page. That allows you to add regular content to the page and display the widget area before. To change that, check the Genesis hook reference.
Add some CSS rules
Without some CSS, your widget area won’t display correctly. Here is some base CSS to add to your child theme’s stylesheet (though it is definitely not exhaustive – feel free to alter as needed).
Again, if you changed the name of your widget area, you’ll want to update here so your stylesheet is looking for the correct div ID.
Drop in some widgets and take a look.
Now you should see your widget area under Appearance > Widgets. Drag a widget into the new area, then go check out your page to see how it looks!