Settings & configuration

WP-PFManagement configuration options. Most settings are managed through WordPress options and filters.
Core options
| Option | Default | Description |
|---|---|---|
pfm_event_log_max_rows | 50,000 | Max rows in the event log. Pruned daily by cron. |
pfm_extra_locales | none | Additional locale codes beyond the 4 defaults (es_ES, en_US, zh_CN, ja) |
pfm_db_version | auto | Tracks schema version for upgrade detection |
pfm_capabilities_version | auto | Tracks capabilities version for role re-granting |
Per-entity options
| Option | Description |
|---|---|
pfm_notify_email_to_{slug} | Email recipients for record creation notifications |
pfm_notify_email_subject_{slug} | Custom subject for notification emails |
pfm_slug_field_{slug} | Which TEXT field provides the pretty permalink slug |
Email notifications
When pfm_notify_email_to_{entity} is set, an email is sent on every pfm.record.created event. Filter hooks:
pfm_notify_email_subject— modify the subjectpfm_notify_email_body— modify the body (plain text, skipssys_*columns)
I18N / locales
The platform supports 4 built-in locales plus custom extras:
- Built-in: es_ES, en_US, zh_CN, ja
- Custom: Added via
PUT /pfm/v1/localesor thepfm_extra_localesoption - Per-row translations via
labels_jsoncolumn on entities, fields, roles, groups, actions, modules, and applications
Security defaults
Every REST response includes these security headers:
X-Request-ID— UUIDv4 for request correlationServer-Timing—pfm;dur=<ms>for performance monitoringX-Frame-Options: DENYX-Content-Type-Options: nosniffReferrer-Policy: same-origin- Admin endpoints rate-limited to 240 requests per IP/user per minute