Module — 2 operations

Site settings

Thirteen fields, allowlisted: title, tagline, timezone, date and time formats, posts per page, front-page geometry, permalinks, default discussion settings, and search-engine visibility.

Nothing extra to install. This module runs on core WordPress alone.

Cue 2 — first light

Before you call anything here

Note 1

The allowlist is the whole feature. site-settings-read returns exactly the thirteen fields site-settings-set can change, so the readable surface and the writable surface are the same list.

Note 2

Changing the permalink structure rewrites every URL on the site. It is in the allowlist because owners do change it — and it is snapshotted like everything else.

Reads — 1

What it can tell you

A read still asks WordPress for a capability against the object. There is no anonymous read anywhere in the surface.

site-settings-read

system-read

Reads the whole site-settings allowlist, typed, in one call — the same thirteen fields site-settings-set can change, and nothing else

needs manage_options

Read
Writes — 1

What it can change

Every one of these is previewed before it runs, snapshotted before it changes anything, and verified afterwards by reading the site back. The chips are the policies the operation itself declares.

site-settings-set

content-write

Changes site settings from a strict thirteen-field allowlist — title, tagline, timezone, date and time formats, posts per page, front page geometry, permalink structure, default comment and ping status, search-engine visibility

needs manage_options

medium risk rollback supported
Cue 5 — day

Keep reading