WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We need to add two snippets of code, one right below the opening body tag, and the other right before the closing body tag. What is the best way to do this? I checked out the wp_enqueue_script, but it appears the content would be in the head section.

share|improve this question

Did you even open header.php and take a peek? You'll see genesis_before() called right after the opening <body> tag - follow the white rabbit and you get:

function genesis_before() { do_action('genesis_before'); }

And likewise for the footer. So...

add_action( 'genesis_before', 'im_a_lazy_copy_paster' );
add_action( 'genesis_after',  'im_a_lazy_copy_paster' );

function im_a_lazy_copy_paster() {
    if ( current_filter() == 'genesis_before' )
        echo '<script>party.start();</script>';
        echo '<script>if ( cops.called() ) party.split();</script>';
share|improve this answer

You can use a plugin such as this to show all of the Genesis hooks: http://wordpress.org/plugins/genesis-visual-hook-guide/. This will allow you to quickly find the right hook to modify to do this. Then modify the hook in the functions file. You can also use a plugin which allows you to easily modify hooks through the wp-admin: http://www.studiopress.com/plugins/simple-hooks

share|improve this answer

You were on the right track. wp_enqueue_script takes a parameter called in_footer which defines whether your script should be loaded before page content or at the end of the page body.

$in_footer: (boolean) (optional) Normally scripts are placed in the <head> section. If this parameter is true the script is placed at the bottom of the <body>. This requires the theme to have the wp_footer() hook in the appropriate place. Note that you have to enqueue your script before wp_head is run, even if it will be placed in the footer. Default: false

Here is the reference on codex: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

share|improve this answer
  1. After the opening body tag.

    add_action( 'genesis_before', 'my_genesis_script' );
    function my_genesis_script() {
    if ( current_filter() == 'genesis_before' )
    echo '<script>parties.over();</script>';

Structural Action Hooks

genesis_before: This hook executes immediately after the opening tag in the document source.

  1. Before the closing body tag:

You can add the script to the Genesis > Theme Settings > Header and Footer scripts and enter your script you would like output to wp_footer().

The wp_footer() hook executes immediately before the closing tag in the document source.

share|improve this answer
Brad as far as I'm aware, you can drop the current_filter() check. In this case, unless you have conditionals inside your my_genesis_script() function, checking if the filter is attached to the hook you're hooking into is unnecessary inside the function. – bwillis Jan 17 at 13:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.