Design System is here - Read the release post

Learn GeneratePress

Developers

Header hooks

These hooks fire around and inside the GeneratePress header, in header.php and inc/structure/header.php. For the settings that control what’s in the header, see the Header guide; for changing header values in code, see Logo and site title filters.

Where the header hooks fire A wireframe of the GeneratePress header showing generate_before_header, generate_header, generate_before_header_content, generate_after_header_content, generate_after_header, and — inside generate_after_header, GP Premium only — generate_inside_mobile_header and generate_inside_mobile_header_menu. The same hooks are listed in firing order in the text list below this diagram. generate_before_header <header> generate_header (wraps this box) .inside-header generate_before_header_content Logo / Navigation / Header widget generate_after_header_content generate_after_header Mobile header – GP Premium (Menu Plus), fires inside generate_after_header at priority 5 generate_inside_mobile_header generate_inside_mobile_header_menu (inside .menu-toggle)

Hooks in firing order

  1. generate_before_header
  2. generate_header — wraps the two hooks below
    1. generate_before_header_content
    2. generate_after_header_content
  3. generate_after_header — on sites with GP Premium’s Menu Plus mobile header enabled, the two hooks below fire first, nested inside it
    1. generate_inside_mobile_header
    2. generate_inside_mobile_header_menu

Around the header

generate_before_header

GP Free

The generate_before_header hook fires right before the opening <header> element.

Parameters: none. Default: —

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

Related: generate_after_header Guide: Header

generate_header

GP Free

The generate_header hook fires inside header.php and is where the entire header element is built — it sits between generate_before_header and generate_after_header, and its own callback fires generate_before_header_content and generate_after_header_content in turn.

Parameters: none. Default: hooked to generate_construct_header at priority 10.

add_action( 'after_setup_theme', 'tu_remove_header' );
function tu_remove_header() {
    remove_action( 'generate_header', 'generate_construct_header' );
}

Related: generate_before_header · generate_after_header · generate_before_header_content · generate_after_header_content Guide: Header

generate_after_header

GP Free

The generate_after_header hook fires right after the closing </header> element. With GP Premium’s Menu Plus mobile header turned on, the mobile header markup — including the generate_inside_mobile_header and generate_inside_mobile_header_menu hooks — outputs here too, at priority 5, before anything you add at the default priority.

Parameters: none. Default: —

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

Related: generate_before_header · generate_inside_mobile_header Guide: Header

Back to top

Inside the header

generate_before_header_content

GP Free

The generate_before_header_content hook fires inside .inside-header, before the header’s logo, navigation and widget content — it fires during the generate_header hook’s own callback, not as a separate top-level hook.

Parameters: none. Default: —

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

Related: generate_after_header_content · generate_header Guide: Header

generate_after_header_content

GP Free

The generate_after_header_content hook fires just before the closing .inside-header element, after the header’s logo, navigation and widget content — like generate_before_header_content, it fires during the generate_header hook’s own callback.

Parameters: none. Default: hooked to generate_add_navigation_float_right at priority 5.

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

Related: generate_before_header_content · generate_header Guide: Header

Back to top

Mobile header (GP Premium — Menu Plus)

generate_inside_mobile_header

GP Premium — Menu Plus module.

The generate_inside_mobile_header hook fires inside the #mobile-header element, nested inside the generate_after_header hook (priority 5).

Parameters: none. Default: hooked to generate_navigation_search (priority 1) and generate_mobile_menu_search_icon.

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

Related: generate_inside_mobile_header_menu · generate_after_header Guide: Header — Mobile header

generate_inside_mobile_header_menu

GP Premium — Menu Plus module.

The generate_inside_mobile_header_menu hook fires inside the .menu-toggle element within the mobile header, nested inside generate_inside_mobile_header.

Parameters: none. Default: —

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

Related: generate_inside_mobile_header Guide: Header — Mobile header

Back to top