Admin and Settings
Role
ReactWP ships with an opinionated admin setup.
The goal is to make the project editable from WordPress while keeping the runtime contract predictable.
Settings Pages
By default, ReactWP registers two options pages:
Site settingsTheme settings
These are created by the shared mu-plugin runtime.
This part of the starter expects ACF to be available, because the options pages and field groups are registered through ACF APIs.
Site settings
Site settings owns the starter-level configuration used by the shared runtime.
The exact fields can evolve, but the core defaults currently include:
- languages
- theme locations
- media groups post type settings
- React template post type settings
- SEO global settings
Theme settings
Theme settings exists as a dedicated place for project-specific theme options.
By default, the starter ships the page but does not force a large field set into it.
That means a project theme can define its own options there without mixing them into the shared runtime settings.
Languages
The starter stores languages in Site settings.
This language data is used by the runtime for:
- translated menu location labels
- language-aware SEO fields
- general starter defaults
Theme Locations
Theme menu locations are created in Site settings, not hardcoded in the theme.
This is important because it means:
- locations can be added or removed from the admin
- the runtime registers menus from options
- the frontend receives only the normalized result
See Content and Menus.
Media Groups Post Types
The Media Groups Post Types setting controls which post types expose the media groups feature in ACF.
That feature is what lets a route declare which critical and deferred asset groups the loader should use.
Those extra ACF fields are registered by the shared runtime field groups, not by the theme.
React Template Post Types
The React Template Post Types setting controls which post types expose the React template selector in ACF.
That selector lets editors or developers assign a React template name that the route resolver will include in the payload.
If a custom post type does not appear here yet, make sure the post type exists before reloading the settings page.
SEO Global Settings
The built-in SEO plugin adds its global settings into Site settings.
That is where default SEO values such as descriptions and OG fields are managed.
See Head and SEO.
First Boot Defaults
On first boot, ReactWP seeds a starter admin state:
- a starter home page
- starter languages
- a starter theme location
- a starter menu
- front page configuration
This behavior lives in:
src/mu-plugins/plugins/reactwp/template/inc/firstload.php
Backend Cleanup
The bundled reactwp-backend plugin also reshapes the admin.
It removes and reorganizes parts of the default dashboard and admin menus, and adds quick links in the admin bar.
This is part of the default authoring experience of the starter, not an unrelated plugin.
Recommendation
Keep this distinction in mind:
Site settingsis for starter-level shared runtime configurationTheme settingsis for project-level theme configuration
That split helps keep the shared ReactWP runtime stable while still giving each project a clean place for custom options.