Hooks reference
The Reign action and filter hooks most useful for site builders, grouped by area, plus what changed for hooks carried over from the Reign add-ons era.
Reign fires several hundred action and filter hooks across its templates. This page documents the ones a site builder is actually likely to use, grouped by where they fire, rather than listing all of them. Every hook name below is taken directly from the theme’s code.
Page skeleton (layout)
header.php and footer.php wrap every page in this order, top to bottom:
| Hook | Fires |
|---|---|
reign_html_before | Before the opening <html> tag |
reign_head_top | Start of <head>, before wp_head() |
reign_head_bottom | End of <head>, after wp_head() |
reign_body_top | Start of <body>, before wp_body_open() |
reign_before_page | Before the #page wrapper div |
reign_before_masthead | Before the #masthead header element |
reign_begin_masthead / reign_end_masthead | Inside #masthead, wrapping the header content |
reign_after_masthead | After the header element closes |
reign_before_content | Before #content |
reign_content_top / reign_content_bottom | Inside #content, wrapping the page’s main output |
reign_after_content | After #content closes |
reign_before_footer / reign_footer / reign_after_footer | Around the footer output |
reign_after_page | After #page closes |
reign_body_bottom | End of <body>, before wp_footer() |
reign_html_class (filter) adds classes to the <html> element.
Header
| Hook | Fires |
|---|---|
reign_before_header_icons / reign_after_header_icons | Around the icon group (search, cart, notifications) in every header layout, v1 through v4 |
reign_header_v4_middle_section_html | Middle section of header layout v4 |
reign_user_profile_menu | Where the logged-in user menu renders, desktop and mobile |
reign_before_reign_mobile_main_menu / reign_after_reign_mobile_main_menu | Around the mobile main menu |
reign_before_header_icons / reign_after_mobile_header_icons | Around the icon group inside the mobile panel |
Footer
| Hook | Fires |
|---|---|
reign_footer_copyright_text (filter) | The copyright line text, before it is echoed |
The page-skeleton reign_before_footer / reign_footer / reign_after_footer
actions above are also where most footer-area customization happens.
Member and community screens
These fire from the BuddyPress templates, in both the bp-nouveau and
bb-buddypress directories, so a callback registered once covers both
BuddyPress and BuddyBoss Platform sites:
| Hook | Fires |
|---|---|
reign_begin_member_profile_sidebar / reign_end_member_profile_sidebar | Around the sidebar on a member’s profile and on a single group |
reign_member_extra_info_section | Extra info area on a member’s cover/header |
reign_group_extra_info_section | Extra info area on a group’s cover/header |
reign_before_member_avatar_member_directory | Before each avatar in a members-loop grid |
reign_before_group_avatar_group_directory | Before each avatar in a groups-loop grid |
reign_bp_nouveau_directory_members_item | Inside each member card in a directory or friends-request loop |
reign_bp_before_displayed_user_mentionname | Before the @mentionname on a member’s profile |
Sign-in and registration forms (template-parts/form-login.php,
template-parts/form-register.php) also expose
reign_login_form_top / reign_login_form_bottom and
reign_register_form_top / reign_register_form_bottom.
Useful filters
| Filter | Purpose |
|---|---|
reign_excerpt_length | Word count for auto-generated excerpts |
reign_excerpt_more | The “read more” ellipsis text on excerpts |
reign_breadcrumbs_separator | The separator markup between breadcrumb items |
reign_breadcrumbs_home_title | The label for the Home breadcrumb |
reign_sidebar_id_for_left_sidebar | Which registered sidebar ID renders in the left-sidebar slot |
reign_render_fallback_page_header | Whether the fallback page-header banner renders on a given request |
Hooks carried over from the Reign add-ons era
Before Reign 8, header/footer/sidebar customizations went through hooks
prefixed wbcom_ and wbtm_, fired by the separate Reign add-ons.
inc/reign-deprecated-hooks.php keeps those working: every current
reign_* layout hook also re-fires its old equivalent, so code written
against the legacy names still runs. For example, reign_before_content
still triggers wbcom_before_content, and reign_member_extra_info_section
still triggers wbtm_member_extra_info_section. New code should hook the
reign_* names directly.
Three older filters were also case-sensitive in a way that broke silently:
BP_reign_user_progress, BP_reign_user_progress_formatted and
BP_reign_profile_completion_form_update were lowercased to
bp_reign_user_progress, bp_reign_user_progress_formatted and
bp_reign_profile_completion_form_update. Both names still work, bridged
through the same file, but write new code against the lowercase names.
One bridge was removed outright in 8.0.5: the wbcom_kirki_theme_customizer_loaded
compatibility action. Its trigger had no firer since Kirki was removed in
8.0.0, so it could never run. There is no replacement hook for it, and
Kirki itself is gone from Reign 8. Register Customizer fields through
Panel::add() / Section::add() / Field::add() in the theme’s own
Customizer Framework instead, documented alongside the code in
inc/Customizer_Framework/.