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.
Hooks in firing order
generate_before_navigationgenerate_inside_navigationgenerate_inside_mobile_menugenerate_after_mobile_menu_buttongenerate_inside_mobile_menu_bargenerate_mobile_cart_itemsgenerate_menu_bar_itemsgenerate_after_primary_menugenerate_after_navigationgenerate_before_secondary_navigationgenerate_inside_secondary_navigationgenerate_inside_secondary_mobile_menugenerate_after_secondary_navigationgenerate_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
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
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