Build on Reign with a child theme
Build on Reign with a child theme
Section titled “Build on Reign with a child theme”Any file you edit directly inside reign-theme is overwritten the next time
Reign updates, with no warning. A child theme is a separate directory that
loads on top of Reign, so your changes survive updates instead of being
replaced by them.
Your Customizer and Reign Settings choices are not at risk either way. They
live in the database, not in theme files, so an update never touches them.
A child theme is for template edits, custom PHP and anything you would
otherwise put directly into reign-theme.
Get the official child theme
Section titled “Get the official child theme”Go to Reign Settings > Tools. The Child theme card has a Download
child theme button. It downloads reign-child-theme.zip, the latest
official child theme, ready to upload. You can also get it from
the child theme’s GitHub releases.
It is a starter package, not a copy generated from your current site: your
existing customizations already live safely in the database.
The package holds four files:
| File | What it is for |
|---|---|
style.css |
The theme header, and the place for your custom CSS |
functions.php |
Loads your CSS in the right order, keeps settings in step, and has a marked spot for your PHP |
readme.txt |
Version, requirements and changelog |
screenshot.png |
The image shown under Appearance > Themes |
The same Tools screen has a System status card, which reports whether a child theme is currently active, alongside your PHP, WordPress and Reign versions. Copy it into a support ticket when you open one.
Activate it
Section titled “Activate it”- Upload the downloaded zip via Appearance > Themes > Add New > Upload Theme, then activate it.
- WordPress takes you to Reign Settings. Your Customizer and Reign Settings choices are copied into the child theme, so the site looks exactly as before. Nothing is reset.
- Confirm it worked: on Reign Settings > Home, the Child theme step now reads “Your code changes survive updates”, and Reign Settings > Tools shows Child theme: Yes.
Keep the name “REIGN Child”. Reign recognises the official child theme by
the Theme Name: REIGN Child line in its style.css, and only copies your
settings across when that name matches. If you rename the child theme, switch to
it on a staging copy first and check your settings.
Changes you make in the Customizer while the child theme is active are also saved back to Reign itself, so switching between the two themes never loses them.
Add your CSS
Section titled “Add your CSS”Put your CSS at the end of the child theme’s style.css. The official child
theme already loads that file after all of Reign’s stylesheets, so a rule of
yours wins over Reign’s when both are equally specific. Edits show up straight
away, because the file’s version follows its last change.
For a few quick rules you can use Appearance > Customize > Additional CSS instead.
Building your own child theme
Section titled “Building your own child theme”If you write a child theme from scratch rather than using the official one,
load its stylesheet the same way. Reign queues its own styles late (priority
5001), and with Smart Performance on it adds a reign-critical stylesheet that
repeats its base rules. Queue yours after Reign and depend on both handles when
they are present, or Reign’s base rules can override yours:
add_action( 'wp_enqueue_scripts', 'my_child_enqueue_styles', 6000 );function my_child_enqueue_styles() { $deps = array(); foreach ( array( 'reign_main_style', 'reign-critical' ) as $handle ) { if ( wp_style_is( $handle, 'enqueued' ) ) { $deps[] = $handle; } } wp_enqueue_style( 'my-child-style', get_stylesheet_uri(), $deps, wp_get_theme()->get( 'Version' ) );}Only list handles that are queued: WordPress silently drops a stylesheet whose dependency is missing.
Your child theme’s style.css needs the standard header WordPress requires to
recognise it as a child theme, including a Template: reign-theme line
matching Reign’s folder name.
What belongs in the child theme
Section titled “What belongs in the child theme”- Template overrides. See template overrides for the directory rules, including the one BuddyPress-specific exception.
- Custom PHP: new hook callbacks, filters, shortcodes. Add it at the end of
functions.php, below the marked line. - CSS beyond a handful of rules, or CSS you want under version control.
What belongs in Custom Code instead
Section titled “What belongs in Custom Code instead”Customizer > General > Custom Code has three fields: Tracking Code (added to the site header, for things like analytics or a Facebook Pixel), Custom JS: Header and Custom JS: Footer. Use these for small, site-wide snippets that do not need file editing or a child theme at all, and that you want a non-developer site owner to be able to find and edit later from Reign Settings rather than in code.
If a snippet grows into something with real logic, conditions, or more than a few lines, move it into the child theme instead. That keeps Custom Code for what it is meant for, and keeps anything more substantial in a file you can put under version control.
Hooks and the REST API
Section titled “Hooks and the REST API”Once your child theme is active, the hooks reference and the REST API cover the extension points available to code running in it.

