Limited-time launch offer 20% off Pro — first payment and every renewal — with code See pricing

Plugins & themes (Pro) — Pro

Extensions managed, not merely listed.

Activate, deactivate, switch theme, update either, install either — behind the same licence, capability and preview gates as every other write, with the reversible three snapshotted and the irreversible four saying so plainly.

Site owners who want “deactivate that plugin and see if the error goes away” to be a sentence, not a session in wp-admin.

3 jobs

What people actually ask for.

Each of these is carried by named operations that exist in the release you can download today. The ids under every answer are the calls involved — nothing here is a plan.

“Deactivate the caching plugin, then put it back how it was.”

Activation state is snapshotted before the change, and rollback restores it through every guard a forward call would run. A network-activated plugin is refused.

  • plugin-deactivate needs activate_plugins
  • plugin-activate needs activate_plugins

“Update everything that has an update waiting.”

Each update is previewed and applied one at a time, and verified by the version actually installed afterwards — never by WordPress’s cached notion of what was waiting. Updates cannot be rolled back, and say so.

  • plugin-update needs update_plugins
  • theme-update needs update_themes

“Install that plugin from WordPress.org.”

It takes the slug and nothing else — no web address, no zip, no file path — fetches only the download link WordPress.org answers with, and stores what lands deactivated. A failed install removes exactly the folder it part-wrote.

  • plugin-install needs install_plugins
  • theme-install needs install_themes
  • theme-switch needs switch_themes
The shape of it

7 operations, 0 of them reads.

Activate, deactivate, switch theme, update and install — acting on the site’s own extensions, behind the same gates as everything else.

Needs: SiteHelm Pro on a licensed site. Where it is absent the operation refuses by name, rather than failing obscurely.

Every operation, with its policy

Reads

0 operations that only report. A read still asks WordPress for a capability against the object.

Writes

7 that change something — each one previewed as a diff, snapshotted, verified by reading the site back, and reversible from wp-admin.

Tier

This area is part of the Pro add-on. On an unlicensed site every call here refuses with IntegrationUnavailable rather than quietly doing nothing.

The limit

What it will not do here.

There is no argument anywhere that accepts a URL, a zip or a file path, and a site that sets DISALLOW_FILE_MODS is refused by name. What installs is only ever what WordPress.org itself serves.

Note 1

Activate, deactivate and theme-switch snapshot the state they replace and restore it through every forward guard, so a rollback refuses on the same grounds a forward call would. The updates and installs say plainly that they cannot be rolled back, because WordPress has no clean way back to an older version.

Note 2

Installing takes a WordPress.org slug and nothing else. There is no argument that accepts a URL, a zip or a file path, the only address ever fetched is the download link WordPress.org itself answers with, and what lands is stored deactivated — a theme is never made live by its install.

Note 3

A site that sets DISALLOW_FILE_MODS or DISALLOW_FILE_EDIT refuses the four file writes by name, and keeps the three that only flip an option.

Next

Try it, or read further.

Get the free plugin What Pro costs How a write is guarded