REIGN

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:

HookFires
reign_html_beforeBefore the opening <html> tag
reign_head_topStart of <head>, before wp_head()
reign_head_bottomEnd of <head>, after wp_head()
reign_body_topStart of <body>, before wp_body_open()
reign_before_pageBefore the #page wrapper div
reign_before_mastheadBefore the #masthead header element
reign_begin_masthead / reign_end_mastheadInside #masthead, wrapping the header content
reign_after_mastheadAfter the header element closes
reign_before_contentBefore #content
reign_content_top / reign_content_bottomInside #content, wrapping the page’s main output
reign_after_contentAfter #content closes
reign_before_footer / reign_footer / reign_after_footerAround the footer output
reign_after_pageAfter #page closes
reign_body_bottomEnd of <body>, before wp_footer()

reign_html_class (filter) adds classes to the <html> element.

HookFires
reign_before_header_icons / reign_after_header_iconsAround the icon group (search, cart, notifications) in every header layout, v1 through v4
reign_header_v4_middle_section_htmlMiddle section of header layout v4
reign_user_profile_menuWhere the logged-in user menu renders, desktop and mobile
reign_before_reign_mobile_main_menu / reign_after_reign_mobile_main_menuAround the mobile main menu
reign_before_header_icons / reign_after_mobile_header_iconsAround the icon group inside the mobile panel
HookFires
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:

HookFires
reign_begin_member_profile_sidebar / reign_end_member_profile_sidebarAround the sidebar on a member’s profile and on a single group
reign_member_extra_info_sectionExtra info area on a member’s cover/header
reign_group_extra_info_sectionExtra info area on a group’s cover/header
reign_before_member_avatar_member_directoryBefore each avatar in a members-loop grid
reign_before_group_avatar_group_directoryBefore each avatar in a groups-loop grid
reign_bp_nouveau_directory_members_itemInside each member card in a directory or friends-request loop
reign_bp_before_displayed_user_mentionnameBefore 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

FilterPurpose
reign_excerpt_lengthWord count for auto-generated excerpts
reign_excerpt_moreThe “read more” ellipsis text on excerpts
reign_breadcrumbs_separatorThe separator markup between breadcrumb items
reign_breadcrumbs_home_titleThe label for the Home breadcrumb
reign_sidebar_id_for_left_sidebarWhich registered sidebar ID renders in the left-sidebar slot
reign_render_fallback_page_headerWhether 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/.