Design System is here - Read the release post

Learn GeneratePress

Developers

Navigation and mobile menu hooks

These hooks fire in and around the primary navigation, its mobile menu, and — with GP Premium’s Menu Plus — the secondary and slide-out navigation. For the settings that control what’s in the navigation, see Navigation; for changing navigation values in code, see Navigation and search filters.

Where the navigation hooks fire A wireframe of the primary navigation, GP Premium secondary navigation, and slide-out navigation, with each hook labelled where it fires. The same hooks are listed in firing order in the text list below this diagram. Primary navigation generate_before_navigation generate_inside_navigation generate_inside_mobile_menu generate_after_mobile_menu_button generate_inside_mobile_menu_bar generate_mobile_cart_items generate_menu_bar_items generate_after_primary_menu generate_after_navigation Secondary navigation (GP Premium) generate_before_secondary_navigation generate_inside_secondary_navigation generate_inside_secondary_mobile_menu generate_after_secondary_navigation Slide-out navigation (GP Premium) generate_inside_slideout_navigation

Hooks in firing order

  1. generate_before_navigation
  2. generate_inside_navigation
  3. generate_inside_mobile_menu
  4. generate_after_mobile_menu_button
  5. generate_inside_mobile_menu_bar
  6. generate_mobile_cart_items
  7. generate_menu_bar_items
  8. generate_after_primary_menu
  9. generate_after_navigation
  10. generate_before_secondary_navigation
  11. generate_inside_secondary_navigation
  12. generate_inside_secondary_mobile_menu
  13. generate_after_secondary_navigation
  14. generate_inside_slideout_navigation

Primary navigation

generate_before_navigation

GP Free

The generate_before_navigation hook appears just before the #site-navigation element.

Parameters: none. Default: —.

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

Related: generate_after_navigation Guide: Navigation

generate_inside_navigation

GP Free

The generate_inside_navigation hook appears inside the .inside-navigation element.

Parameters: none. Default: —.

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

Guide: Navigation

generate_inside_mobile_menu

GP Free

The generate_inside_mobile_menu hook appears inside the .menu-toggle element.

Parameters: none. Default: —.

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

Guide: Navigation

generate_after_mobile_menu_button

GP Free

The generate_after_mobile_menu_button hook appears right after the menu-toggle element.

Parameters: none. Default: —.

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

Guide: Navigation

generate_inside_mobile_menu_bar

GP Free

The generate_inside_mobile_menu_bar hook appears inside the .mobile-bar-items element which exists if your navigation search is enabled.

Parameters: none. Default: —.

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

Guide: Navigation

generate_mobile_cart_items

GP Premium — Elements module.

The generate_mobile_cart_items hook appears inside the .wc-mobile-cart-items element.

Parameters: none. Default: —.

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

Guide: Navigation

generate_menu_bar_items

GP Free

The generate_menu_bar_items hook allows you to hook non-menu item elements such as buttons, icons and whatever else your design requires.

Parameters: none. Default: —.

<span class="menu-bar-item">
    <a href="#">Your icon HTML</a>
</span>
add_action( 'generate_menu_bar_items', function() {
    ?>
        <span class="menu-bar-item">
            <a href="#">Your icon HTML</a>
        </span>
    <?php
} );

Guide: Navigation

generate_after_primary_menu

GP Free

The generate_after_primary_menu hook is placed right before the end of .inside-navigation.

Parameters: none. Default: —.

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

Guide: Navigation

generate_after_navigation

GP Free

The generate_after_navigation hook appears just after the #site-navigation element.

Parameters: none. Default: —.

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

Related: generate_before_navigation Guide: Navigation

Back to top

Secondary navigation (GP Premium)

generate_before_secondary_navigation

GP Premium — Secondary Nav module.

The generate_before_secondary_navigation hook appears just before the #secondary-navigation element.

Parameters: none. Default: —.

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

Related: generate_after_secondary_navigation Guide: Secondary Navigation

generate_inside_secondary_navigation

GP Premium — Disable Elements module.

The generate_inside_secondary_navigation hook appears inside the .inside-navigation element within your Secondary Navigation.

Parameters: none. Default: —.

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

Guide: Secondary Navigation

generate_inside_secondary_mobile_menu

GP Premium — Secondary Nav module.

The generate_inside_secondary_mobile_menu hook appears inside the .secondary-menu-toggle element.

Parameters: none. Default: —.

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

Guide: Secondary Navigation

generate_after_secondary_navigation

GP Premium — Secondary Nav module.

The generate_after_secondary_navigation hook appears just after the #secondary-navigation element.

Parameters: none. Default: —.

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

Related: generate_before_secondary_navigation Guide: Secondary Navigation

Back to top

Slide-out navigation (GP Premium)

generate_inside_slideout_navigation

GP Premium — Elements module.

The generate_inside_slideout_navigation hook appears inside the .inside-navigation element within your Slide-out Navigation.

Parameters: none. Default: —.

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

Guide: Off-Canvas Panel

Back to top