Adding a widget area in Genesis is a quite simple and clean process.
In fact one of the things that distinguishes the use of a framework is that the code to use is, quite always, brought to a minimum.
You do not need to open and modify the various templates (single, archives, custom…) that are typically included with the themes that do not rely on a framework, instead, using the power of actions and hooks1, with few lines of code we will achieve our aims fastly and without headaches,
Said that, let’s go!
As always the functions.php file of the child theme we are using is the key of our modding.
To help us choosing where we want our widget area, we are going to use the official hooks page.
In this example I’ll choose to add the widget area in the genesis_after_post_content, an hook that executes immediately after the post/page content is output, outside the .entry-content div.
The code below should be entered anywhere in functions.php but after the
<?php require_once(TEMPLATEPATH.'/lib/init.php');
First of all we are using an action to output our widget area after the post content:
/** Add after post widgeted area */ add_action( 'genesis_after_post_content', 'child_after_post_area', 9 ); function child_after_post_area() { echo '<div class="after-post-area">'; dynamic_sidebar( 'after post area' ); echo '</div><!-- end .after-post-area -->'; }
Then we have just to register our new widget area:
genesis_register_sidebar( array( 'id' => 'after-post-area', 'name' => __( 'After Post Area' ), 'description' => __( 'This is the after post area.' ), ) );
In this case if we want the widget area before the Post Meta leave 9 in the action, otherwise we have to change the number to 15 to have it after.
Pay attention not to forget to style it consistently with your child theme.

Hi Marco
Thanks for the tutorial.
I use the Genesis theme framework but struggle with hooks and actions.
Found this helpful.
Thanks Keith, I tried to write it in the most simple and understandable way. Hope this will help folks.
I’m using this with the “Blissful” theme, which has a custom home page with truncated posts. I want to remove the after post section for the home page and have it only on the single posts page. How do I do that? I tried adding the code this way, but it didn’t work:
/** Add after post widgeted area */ add_action( 'genesis_after_post_content', 'child_after_post_area', 9 ); function child_after_post_area() { if ( ! is_page() ) { echo ''; dynamic_sidebar( 'after post area' ); echo ''; }Sorry. That was supposed to be
if ( is_single() ) {The Conditional Tags page is always on on my browser…
I would do something like:
function child_after_post_area() { if ( !is_home() && is_single( ) ) { your code } }Quick & easy reference to add an area. Very good! Can’t wait to try this out later on.
“an” should be “a”
Yep. It should. Now correct…
Thank you so much for this code. SO SIMPLE.
I am having a problem when I add the if ( is_home() ) { line. I keep getting this error:
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\wordpress\wp-content\themes\copyblogger\functions.php on line 65
/** Add after header */ add_action( 'genesis_after_header', 'child_top_home', 9 ); function child_top_home() { if ( is_home() ) { echo ''; dynamic_sidebar( 'top home' ); echo ''; } genesis_register_sidebar( array( 'id' => 'top-home', 'name' => __( 'Top Home' ), 'description' => __( 'This is the after header.' ), ) );I just need this area to show up directly under the header (which it is) on the home page.
Thank you again!
Hi,
I have a website built with Genesis Church Theme, under my main slider there are two widgeted areas (looks like one but notice the titles) I want that to be one wide widget area but for the life of me, I can not figure out how to make it one column instead of two
thank you sooooooooooooooo much in advance!!!!~!
Unregister the widgeted area that you don’t need, look at what to erase on your functions.php file. Then style the other widgeted area accordingly.