Overview
What the MrDemonWolf WordPress plugin does and how it is put together.
One plugin.
Both directions.
Your app submits forms to your WordPress site, and your site pushes notifications back — with the post's featured image attached.
Set it up
Step by step, written for a non-technical reader. About 15 minutes.
Jump to reference
Constants, filters, REST endpoints and settings.
What it does
This plugin is the bridge between the MrDemonWolf WordPress site and the MrDemonWolf app.
- Forms exposes REST endpoints so the app can list a form's fields and submit to it. Submissions are handed to whichever form builder the site uses — Divi, WPForms or Gravity Forms — and are also recorded in an entries table with a CSV export.
- Push keeps a registry of devices that have opted into notifications, groups them, and sends Expo push messages either on demand, on a schedule, or automatically when a post is published.
Where it came from
Both halves shipped as separate plugins before:
| Was | Is now |
|---|---|
| PackRelay | The Forms module |
| TailSignal | The Push module |
The module code was carried over, but 2.0.0 renamed every identifier onto a single mrdw
namespace so this reads as one plugin rather than two bolted together.
If you are coming from PackRelay or TailSignal, deactivate them before activating this plugin —
but do not delete them, because deleting runs their cleanup routines and drops their tables.
Anything calling the old packrelay/v1 or tailsignal/v1 REST namespaces must be repointed at
mrdw/v1, and existing data is not migrated automatically.
Requirements
| WordPress | 6.0 or newer (tested against 7.1) |
| PHP | 8.3 or newer |
| Licence | GPL-2.0-or-later |
The Forms module additionally needs whichever form plugin you point it at, and a Firebase project for App Check. The Push module needs nothing beyond WordPress; an Expo access token is optional.
Admin layout
Everything lives under a single MrDemonWolf menu:
- General — turn modules on and off, and see which update channel the site is on.
- Form Entries, Forms Settings — the Forms module (
mrdw-form-entries,mrdw-forms). - Push, Send, Devices, Groups, History, Push Settings — the Push module (
mrdw-push-*).