Configuration
All plugin settings are managed from WordPress Admin → Settings → Association App. The settings page is a React SPA that saves values to the WordPress wp_options table.
Settings Tabs
General
Core organisation identity displayed in the mobile app.
| Field | Option key | Description |
|---|---|---|
| Organisation Name | association_name | Your association's display name |
| Tagline / Subtitle | association_subtitle | Short description shown in the app |
| Admin Email | association_admin_email | Contact address for app-generated enquiries |
| Logo | association_logo | URL of your logo image (uploaded via Media Library) |
| Banner | association_banner | URL of a banner/hero image |
| App Icon | association_icon | URL of the app icon image |
| About | association_about | URL of your About page (internal or external) |
| Terms of Service | association_terms | URL of your Terms page |
| Privacy Policy | association_privacy | URL of your Privacy Policy page |
| Contact | association_contact | URL of your Contact page |
Branding / Colours
Controls the colour theme delivered to the mobile app.
| Field | Option key | Default |
|---|---|---|
| Primary Colour | association_primary_color | #D6386B |
| Primary Shade 1 | association_primary_color_shade1 | #F9D1DE |
| Primary Shade 2 | association_primary_color_shade2 | #FFEDF3 |
| Secondary Colour | association_secondary_color | #170645 |
| Secondary Shade 1 | association_secondary_color_shade1 | #241156 |
| Secondary Shade 2 | association_secondary_color_shade2 | #403461 |
| Enable custom text colour | association_color_text_enabled | false |
| Primary text colour | association_primary_color_text | (derived) |
| Secondary text colour | association_secondary_color_text | (derived) |
Colours should be entered as hex values (e.g. #D6386B). The mobile app reads these at login and applies them throughout the UI.
Sync
Controls the sync integration used by the Association App Platform v2 Connector.
| Field | Option key | Description |
|---|---|---|
| Sync API Key | _2dc_assoc_sync_api_key | Secret key authorising the platform to pull data from WordPress |
Generating the Sync API Key:
- Go to Settings → Association App → Sync
- Click Generate Key
- Copy the generated value — this is the key you enter in the Association App dashboard Connector setup wizard
- Click Save
The key is stored hashed. If you regenerate it, the old key immediately stops working — update the Connector in the dashboard immediately after.
Custom Post Types
The plugin registers five custom post types. Content is managed through the standard WordPress editor for each type.
App: Events (event)
| Meta field | Key | Description |
|---|---|---|
| Start date/time | _2dc_assoc_event_date_time_start | Unix timestamp (ms) |
| End date/time | _2dc_assoc_event_date_time_end | Unix timestamp (ms) |
| All day | _2dc_assoc_event_all_day | Boolean |
| Location address | _2dc_assoc_event_location_address | Street address |
| City | _2dc_assoc_event_location_city | City |
| State | _2dc_assoc_event_location_state | State |
| Postcode | _2dc_assoc_event_location_zip_code | Postcode |
| Cost | _2dc_assoc_event_cost | Price |
| Registration URL | _2dc_assoc_event_url | External registration link |
| Virtual | _2dc_assoc_event_is_virtual | Boolean — online event |
| Attendees | _2dc_assoc_event_attending | Count |
App: Conferences (conference)
Same meta fields as Events. The eventType returned in the API is CONFERENCE.
App: Documents (document)
| Meta field | Key | Description |
|---|---|---|
| File URL | _2dc_assoc_document_file | Direct URL to the uploaded file |
Documents are categorised using the Document Folder taxonomy (document-folder), which is hierarchical (supports parent/child folders).
App: Companies (company)
| Meta field | Key | Description |
|---|---|---|
| Website | _2dc_assoc_company_url | Company website |
| Phone | _2dc_assoc_company_phone | Phone number |
_2dc_assoc_company_email | Contact email |
App: Notifications (notification)
Used for push notifications. Created via the WordPress admin or programmatically. The plugin sends the notification content via Firebase Cloud Messaging on publish.
Custom User Roles
Two custom roles are added to WordPress:
| Role | Slug | Purpose |
|---|---|---|
| Association Member | association-member | Active members with app access |
| Pending Review | pending-review | Members awaiting admin approval — blocked from login |
Member Profile Fields
These custom fields appear on the WordPress user profile screen and are stored as user meta:
| Field | Meta key | Description |
|---|---|---|
| Mobile number | mobile_number | Phone number |
| Job title | job_title | Job title |
| Company / Organisation | company_organization | Employer |
| Birthday | birthday | Date of birth |
| Street address | street_address | Address line |
| City | city | City |
| Postcode | zip | Postcode |
| Certified | is_certified | Boolean flag |
| Renewal date | renewal_date | Membership renewal date |
| Exclude from listing | is_exclude_listing | Hides member from the directory |
| Created via | created_via | Records how the account was created |
Firebase Configuration
Firebase is used for push notifications. Configuration is stored in the plugin and requires:
- A Firebase project with Cloud Messaging enabled
- The Server Key from Firebase Console → Project Settings → Cloud Messaging
The server key is used by the plugin's notification system when dispatching push notifications. Enter it in the plugin settings or directly in wp-config.php:
define('_2DC_ASSOC_FIREBASE_SERVER_KEY', 'your-firebase-server-key');
JWT Configuration (wp-config.php)
As noted in the installation guide, the JWT secret must be set in wp-config.php:
define('JWT_AUTH_SECRET_KEY', 'your-long-random-secret');
define('JWT_AUTH_CORS_ENABLE', true);
The plugin extends the JWT Authentication plugin to add:
- Refresh tokens — issued alongside the access token at login
- Custom expiry — configurable via the
jwt_auth_expirefilter - Login deep links — JWT issued for passwordless deep-link login flows
Disabling the REST API (Post-Migration)
After migrating to the Association App Platform v2 and completing the cutover, you can disable all plugin REST API endpoints:
- Go to Settings → Association App → Sync
- Toggle Disable REST API to ON
- Click Save
This stops the mobile app and sync connector from being able to reach the WordPress API without deactivating the plugin entirely.