The WordPress command centre I built brings together a lot of custom plugins for a sports betting news publisher: a tipping record, a bet calculator, share cards, reader reactions, alerts, a crawl and archive tool, price banners and more. Each one knows something useful. Is the tipping record up to date? Are readers using the calculator? Are tomorrow's fixtures covered by articles yet?
Before, finding out meant opening six settings screens, each laid out differently, each with numbers of unknown age. Nobody did it.
A WordPress command centre card from every plugin
The command centre is one admin landing page. Each plugin registers a card through a filter, and every card has the same shape:
| Field | What it holds |
|---|---|
| Title | What this card is about |
| Source | Exactly where the figures come from, in plain words |
| As of | The time the figures were true |
| Headline | The one thing to know |
| Lines | A few supporting details |
| Tone | Good, warning or bad, or nothing if it is just information |
| Link | Where to go to act on it |
| Note | What to do if the card has nothing to show yet |
Every number says where it came from
The source and timestamp line is the most important part of the design. A figure without a source is something to argue about. A figure with a source is something to check. A figure that is three days old, shown as three days old, tells you the job that feeds it has stopped, which is often the most useful thing on the page.
That is why a card that cannot find its data says so, with a note on how to populate it, rather than showing zero. "No data yet" and "zero" are different answers, and mixing them up is how dashboards lose people's trust.
One broken card cannot break the page
Each card is built separately. If a plugin throws an error while building its card, that card shows "Could not build this card" with the message, in the warning style, and the rest of the page carries on. A command centre that goes blank because one plugin had a bad day is worse than none.
Daily snapshots and a since-yesterday line
A number on its own is hard to read. Is 300 calculator uses good? Cards that track something over time take a daily snapshot, and show a short "since yesterday" line beside the headline. That turns a figure into a direction, without building a full analytics system.
Role views
An editor, a commercial manager and a developer want different things from the same page. The command centre shows each role the cards that matter to them. Everyone still sees the same figures with the same sources, which avoids the meeting where two people bring two different numbers.
Readable by people and by tools
The same cards are available through the REST API and as a WordPress ability, so a script, a monitoring check or an AI assistant can read the state of the site from one place with the same sources and timestamps. I wrote about connecting assistants to sites through MCP recently. This is the kind of thing that makes that connection useful: one well-shaped, honest summary rather than a dozen screens to scrape.
If you build one
- Fix the card shape first, and make source and time compulsory.
- Distinguish "nothing to show yet" from "zero".
- Isolate each card so one failure stays one failure.
- Add a since-yesterday line before you add a chart.
- Link each card to the place where someone can act on it.
- Expose the same data to scripts and assistants, not just to the admin screen.