Headless WordPress
App Builder treats WordPress as a pure content + API backend. The mobile app talks to the Wigmorean REST namespace (/wp-json/wigmorean/v1/) for data; the admin stays in WP; marketing pages stay in wigmorean-pages.
Exposed endpoints
Every Suite module that has content exposes read + write endpoints appropriate to mobile use cases:
- LMS — courses, lessons, quiz attempts, progress
- Commerce — products, cart, orders, payment intents
- CRM — current user's contact record, activity
- Communities — groups, discussions, feed
- Calendar — events, RSVPs
- Forms — form submit
App scaffolding
App Builder generates a React Native project tuned for your site:
- Go to App Builder → Generate
- Enter app name, bundle ID, splash assets
- Pick which modules to include in the app
- Download the generated
.zip - Run
npm install && npm start
The scaffold includes: auth flow, tab navigation, module-specific screens, theming hooked to your CSS tokens.
Authentication
App Builder uses JWT for mobile auth (not cookies). The flow:
- User enters credentials in the app
- App POSTs to
/wp-json/wigmorean/v1/auth/token - Server returns an access token + refresh token
- App stores tokens in secure storage (Keychain/Keystore)
- Subsequent requests send the access token as
Authorization: Bearer
Tokens rotate on refresh. Revocation list is stored server-side.
Push notifications
Apps register their FCM/APNS token with the server on login. Modules can push to users:
Wigmorean_AppBuilder_Push::to_user( $user_id, [
'title' => 'New lesson available',
'body' => 'Module 3: Advanced patterns is live',
'data' => [ 'deep_link' => '/courses/42/lessons/17' ],
] );
Offline support
The scaffold includes a local cache (SQLite + AsyncStorage) for read operations. Courses, lessons, and user progress stay available offline; writes queue and sync when the network returns.
Publishing
Deployment to the App Store and Google Play is your responsibility — App Builder generates the source, not the store listings. Documentation includes a submission checklist (screenshots, metadata, TestFlight/Play Console setup).