Design System is here - Read the release post

Learn GeneratePress

Developers

Content wrapper hooks

These hooks fire around the site and content containers that wrap every page’s main content, in header.php and the template files (index.php, single.php, page.php, archive.php, search.php, 404.php).

Where the content wrapper hooks fire A wireframe of the site and content containers that wrap every page, and the main content area inside them. The same hooks are listed in firing order in the text list below this diagram. Site and content containers generate_inside_site_container generate_inside_container Main content area generate_before_main_content generate_after_loop generate_paging_navigation generate_after_main_content generate_after_primary_content_area

Hooks in firing order

  1. generate_inside_site_container
  2. generate_inside_container
  3. generate_before_main_content
  4. generate_after_loop
  5. generate_paging_navigation
  6. generate_after_main_content
  7. generate_after_primary_content_area

Site and content containers

generate_inside_site_container

GP Free

The generate_inside_site_container hook appears just after the .site.container element.

Parameters: none. Default: —.

add_action( 'generate_inside_site_container', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Guide: Container

generate_inside_container

GP Free

The generate_inside_container hook appears inside the .site-content element.

Parameters: none. Default: —.

add_action( 'generate_inside_container', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Guide: Container

Back to top

Main content area

generate_before_main_content

GP Free

The generate_before_main_content hook appears inside the .site-main element.

Parameters: none. Default: —.

add_action( 'generate_before_main_content', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Related: generate_after_main_content Guide: Container

generate_after_loop

GP Free

The generate_after_loop hook is placed right after the posts loop on archive pages.

Parameters: string, 'index', 'archive' or 'search' depending on the template. Default: —.

add_action( 'generate_after_loop', function( $location ) {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Guide: Container

generate_paging_navigation

GP Free

The generate_paging_navigation hook appears inside the .paging-navigation and .post-navigation elements.

Parameters: none. Default: —.

add_action( 'generate_paging_navigation', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Guide: Container

generate_after_main_content

GP Free

The generate_after_main_content hook appears before the closing .site-main element.

Parameters: none. Default: —.

add_action( 'generate_after_main_content', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Related: generate_before_main_content Guide: Container

generate_after_primary_content_area

GP Free

The generate_after_primary_content_area hook appears after the primary content area.

Parameters: none. Default: —.

add_action( 'generate_after_primary_content_area', function() {
    ?>
    <div class="my-notice">Insert your content here.</div>
    <?php
} );

Guide: Container

Back to top