Override Reign templates from a child theme
The directory structure Reign ships for WordPress core templates and for each supported plugin, and the precedence rule for overriding any of them.
WordPress checks your child theme for a matching file before it falls back to the parent theme. Reign follows that same rule everywhere, with one exception worth knowing before you start: BuddyPress.
Core WordPress templates
Reign ships the standard top-level templates: page.php, single.php,
archive.php, index.php, search.php, author.php, 404.php and
comments.php. Copy any of these into your child theme with the same
filename and WordPress loads your copy instead.
Most of the actual markup lives under template-parts/, which Reign loads
with get_template_part(). That function checks the child theme first too,
so you can override a single part, such as template-parts/content.php or
template-parts/reign-page-header.php, without copying the parent template
that calls it.
Plugin template directories
Reign ships its own template overrides for several plugins, each in a directory named after the plugin’s own convention:
| Directory | Plugin |
|---|---|
bp-nouveau/ | BuddyPress, when the BP Nouveau template pack is active |
bb-buddypress/ | BuddyBoss Platform |
bbpress/ | bbPress |
woocommerce/ | WooCommerce |
dokan/ | Dokan |
learndash/ | LearnDash |
lifterlms/ | LifterLMS |
wc-vendors/ | WC Vendors |
job_manager/ | WP Job Manager |
For WooCommerce, Dokan, LearnDash, LifterLMS, WC Vendors and WP Job Manager,
the rule is exactly the one you would expect from that plugin on any theme:
each plugin looks in the active theme for a folder matching its own slug,
and the active theme means your child theme first, then Reign. To override
woocommerce/myaccount/navigation.php, create
your-child-theme/woocommerce/myaccount/navigation.php. WooCommerce finds
it before it looks at Reign’s copy.
The BuddyPress exception
There is no buddypress/ directory in Reign, even though that is
BuddyPress’s own default folder name for theme overrides. Reign filters
bp_get_template_stack (functions.php) to detect which template pack is
active and rewrite that entry:
- If BuddyBoss Platform is active, the
buddypressstack entry becomesbb-buddypress. - Otherwise it becomes
bp-nouveau.
This means a file placed at your-child-theme/buddypress/members/single/home.php
is never found. Reign has already rewritten that lookup before it reaches
your child theme. Place your override at your-child-theme/bp-nouveau/members/single/home.php
instead, or your-child-theme/bb-buddypress/... if the site runs BuddyBoss
Platform. Match whichever directory the site is actually using; check
bp_get_theme_package_id() if you are not sure.
Precedence, in order
For any of the directories above:
- Your child theme’s copy, if one exists.
- Reign’s copy in
reign-theme. - The plugin’s own bundled template, if Reign does not ship one for that file.
Community setup details for BuddyPress, BuddyBoss and PeepSo are covered separately in community setup. Integration behaviour for WooCommerce, the LMS platforms and the marketplace plugins is covered in integrations.