REIGN

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:

DirectoryPlugin
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 buddypress stack entry becomes bb-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:

  1. Your child theme’s copy, if one exists.
  2. Reign’s copy in reign-theme.
  3. 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.