Generated from the code

The Minn API

Every class under src/Minn/, read by reflection: 626 classes in 26 namespaces, 3050 public methods and 1530 internals. Signatures are the code's own; the prose is each class's docblock. A namespace page lists the public surface; a class page has everything, down to the source of each method. The engine regenerates this whenever the code changes, and its style suite fails when it has not.

Minn 8

The root namespace: the front door, the autoloader, the one database door, the REST error. Every other namespace sits one level below it.

ClassKindMethodsSummary
Autoloaderfinal class1PSR-4 for the Minn namespace: Minn\Http\Request lives at src/Minn/Http/Request.php.
Contextfinal readonly class4One request, as a value: the database door, who is asking, what they
Dbfinal class23 +2The one door to the database. Every query is a prepared statement; the
Enginefinal readonly class2 +9The engine's front door. An unmodified wp-config.php ends by requiring
Htmlfinal class7HTML, the front door for escaping and cutting markup: plain static calls,
Httpfinal readonly class8 +8Outgoing HTTP, a client handed to the code that uses it. An extension
Jsonfinal class5 +2JSON in and out, for the engine and for code written for Minn:
RestErrorfinal class5A WordPress-shaped error, thrown from anywhere and rendered once by the

Minn\Admin 29

The minn-admin/v1 namespace and serving the Minn Admin app.

ClassKindMethodsSummary
ActivityChartfinal readonly class2The overview's activity chart: published posts and pages plus every
ActivityFeedfinal readonly class5 +4What happened lately, as the overview and the bell tell it: the caller's
AdminTypesfinal class6Admin-facing type facts (viewable, labels, supports, the edit gate) live
Appfinal readonly class7The Minn Admin app on disk: the symlinked dev copy the engine serves the
AppControllerfinal readonly class2 +3Serves Minn Admin from the engine: the path-routed shell (every
Appearancefinal readonly class4A person's Minn Admin appearance: the colour scheme and its custom
BootPayloadfinal readonly class2 +7The window.MINN boot payload, assembled from the engine: the keys app.js
BundleControllerfinal readonly class4 +1What the app bundle answers for: the user guide it carries, the
Dashboardfinal readonly class4 +9The overview payload: stat cards, the activity chart, and the recent
EditorControllerfinal readonly class4The editor's helpers in minn-admin/v1: the edit lock, and the template
Formatfinal class4The dashboard's number, size, age, and title formatting.
HiddenIntegrationsfinal readonly class5What a person hid from their own Minn Admin: the app's per-user map
LanguageChoicesfinal class1 +1The language picker's markup. English always leads the list and carries the
LanguageControllerfinal readonly class5 +2Languages: what is installed, what a person reads in, what the site defaults to.
Notificationsfinal readonly class2 +7The bell feed: pending and recent comments, translation offers and a
OverviewControllerfinal readonly class4 +5The Overview of minn-admin/v1: the payload, the drill-down behind one
PackagesControllerfinal readonly class8 +1Adding and removing themes and extensions from the Extensions view.
PostListMarkupfinal class2The markup a post list writes beside each post, as the reference writes
PreferencesControllerfinal readonly class8 +4A person's own settings in minn-admin/v1: their appearance, the views
RenderControllerfinal readonly class2 +1The editor's island previews: block markup rendered by the same
SessionsControllerfinal readonly class3 +1A person's sign-in sessions, read from the same session_tokens store
SiteControllerfinal readonly class4 +1The small Settings-view routes of minn-admin/v1: the site logo, the
StructureControllerfinal readonly class3 +3The Structure view of minn-admin/v1: post types, taxonomies, and the
SystemControllerfinal readonly class9The System view: diagnostics, the scheduled-post list, autoloaded options, and the logs.
ThemesControllerfinal readonly class2 +3The theme inventory of minn-admin/v1: every theme on disk with its
Translationsfinal readonly class9 +5Languages for the admin. A person's locale is their `locale` user meta,
UpdatesControllerfinal readonly class7The minn-admin/v1 update routes: offers, directory meta, the check, the installs, the auto-update lists.
UploadsSizefinal readonly class2 +3How much the uploads folder holds, as Minn Admin 0.43 works it out and
V1Controllerfinal readonly class5 +1The boot burst of minn-admin/v1: the bell feed and its read marker, the

Minn\Auth 19

Passwords, sessions, cookies, nonces, roles and capabilities.

ClassKindMethodsSummary
ApplicationPasswordsfinal readonly class10 +3Application passwords as the reference stores them: a serialized list in
AuthCookiesfinal readonly class6The three cookies a sign-in sets: the auth cookie on the admin and
AuthFailurefinal readonly class3Why a request is not authenticated, as the reference's error code: a
Authenticatedfinal readonly class1A validated session: the user row and the raw session token behind it.
Authenticatorfinal readonly class9Resolves the current user two ways. A page load carries the cookie alone;
Capabilitiesfinal readonly class7 +7The capability engine: a user's roles from {prefix}capabilities usermeta,
Cookiefinal readonly class6The sign-in cookies: username|expiration|token|hmac, with
FastHashfinal class3The reference's hash for high-entropy secrets ("$generic$", WordPress 6.8
LoginThrottlefinal readonly class4 +2Failed sign-ins per address, so a password guesser meets a wall: twenty
Noncefinal class5The wp_rest nonce: ten characters of HMAC-md5(tick|wp_rest|uid|token)
Passwordfinal class4 +1The stored password scheme. A modern "$wp$2y$..." value is bcrypt over
PasswordResetfinal readonly class5 +2Password reset keys in the reference's storage shape: user_activation_key
PortableHashfinal class6The portable phpass hash ("$P$"), from the published algorithm: an
RegisteredCapsfinal class2The capability names a plugin's post type or taxonomy registered, read
Rolesfinal class5Role definitions from the site's {prefix}user_roles option, parsed by a
Saltsfinal class4The site's own secret material, read from the constants wp-config.php
Sessionsfinal readonly class10 +5The session_tokens usermeta store: {sha256(token): {expiration, ip, ua,
SignInfinal readonly class8 +1The door itself: what a sign-in surface needs beyond checking a
TypeCapabilitiesfinal readonly class7The capability names a post type's permissions are built from. Posts and

Minn\Blocks 23

The block parser and renderer.

ClassKindMethodsSummary
Attributesfinal readonly class1The JSON object a block delimiter carries, read in place. Rewriting one
Bindingsfinal class3 +4Block bindings (probe block-bindings): a block attribute bound to a
Blockfinal readonly class6One parsed block. A null name is freeform HTML between blocks. The
BlockNamefinal class1The block name rules: a string, lower-case, `namespace/name`.
BlockStreamfinal class17 +7Block markup read one token at a time, as the reference's streaming
Contextfinal class9What the template blocks render against: the resolution, the main
CoreBlocksfinal class2The core block types' metadata as the reference registers them
Duotonefinal class2 +2Duotone filters (probe block-supports): a CSS color read into its red,
Elementsfinal class3 +2Per-block element styles (style.elements in a block's attributes, the
ImageTagsfinal readonly class6 +13The attributes the reference adds to an <img> that carries a
Layoutfinal class7 +5The layout support's classes and rules (wp_render_layout_support_flag,
LayoutStylefinal class4 +7The CSS rules a block's layout writes (wp_get_layout_style, probe
Parserfinal class3Parses block markup into a tree. The grammar is the delimiter comment:
QueryVarsfinal class1 +5The query variables a Query Loop block's context asks for, the way the
RenderStatefinal class38Per-request rendering state, owned by the renderer. The reference numbers
Rendererfinal class20 +6Renders a block tree the way the reference renders post_content:
Selectorfinal class1 +1The CSS selector a block type declares for its root or for one feature, from its `selectors` map or the older per-support keys.
Serializerfinal class4Parsed blocks back to markup. A core block is written by its short name;
Statesfinal class8Block state styles (a block's style[":hover"] and the like, probe
StyleEnginefinal class8 +8What a block's style object comes to, as the reference's style engine
Stylesfinal class5 +5The inline style and class names a block's "style" and preset
TemplatePartVariationsfinal class2The template part block's variations as the reference builds them (probes
Wrapperfinal class1The opening tag of a dynamic block's wrapper, in the reference's class

Minn\Blocks\Dynamic 8

Dynamic core blocks that render from data.

ClassKindMethodsSummary
Archivesfinal readonly class1core/archives: the months that have published posts, newest first, with their counts when asked (showPostCounts).
Datesfinal class2Site-local dates the way the dynamic blocks print them.
LatestCommentsfinal readonly class1 +1core/latest-comments: the newest approved comments with avatar, meta, and a 20-word excerpt.
LatestPostsfinal readonly class1core/latest-posts: the newest published posts as a list, optionally dated.
Searchfinal readonly class1core/search: the site search form. The button sits outside or inside
SocialLinksfinal class1 +3core/social-links and core/social-link. The list keeps its stored
SyncedPatternfinal readonly class1core/block: a synced pattern, rendered from the wp_block post it references.
TagCloudfinal readonly class1core/tag-cloud: non-empty tags by name, sized from 8pt to 22pt in

Minn\Blocks\Dynamic\Theme 6

The template blocks a block theme composes with.

ClassKindMethodsSummary
Commentsfinal readonly class2 +15comments, comments-title, comment-template, the comment-* blocks, and the comment form.
Navigationfinal readonly class2 +22navigation, navigation-link, page-list. A navigation block's items come
PostBlocksfinal readonly class1 +12The post-* blocks: they render the context's current post.
QueryBlocksfinal class1 +13query, post-template, query-title, query-no-results, query-pagination, query-total.
Structurefinal readonly class1 +5template-part, pattern, site-title, site-tagline, site-logo.
TermBlocksfinal readonly class1 +4term-name, term-count and term-description: the term a block's context

Minn\Cli 18

The wp verbs the engine answers itself.

ClassKindMethodsSummary
AssetUpdatefinal class2 +13Shared wording for `wp plugin update` and `wp theme update`. Captured
CacheCommandfinal class1`wp cache flush`: the engine has no object cache, so this is a no-op success.
Commandsfinal class1 +2The verbs the engine answers to. Every one is registered for the
CoreCommandfinal class3 +2WP-CLI's core verbs where a host's automation meets a Minn site. A Minn
CronCommandfinal class7 +4`wp cron`: the events, schedules, and spawn test a host and a fleet ask
DirectorySearchfinal class1Shared wording for `wp theme search` and `wp plugin search`. The
Installerfinal class8 +6The swap, both ways. Install parks WordPress's own files beside the
MaintenanceCommandfinal class4 +1`wp maintenance-mode`: the `.maintenance` marker in the webroot. The
MinnCommandfinal class12 +3Identifies the engine.
OptionCommandfinal class4 +3Options, read and written straight to the options table. Serialized
PackageInstallerfinal readonly class3 +4Puts a theme or a plugin on disk for `wp theme install` and `wp plugin
PluginCommandfinal class9 +4`wp plugin list|install|update|activate|deactivate|delete`: the inventory and the fleet's install/update/delete.
Preflightfinal class3 +14What a site will and will not get from the engine, before anything
RewriteCommandfinal class2`wp rewrite flush|structure`: permalink_structure is the engine's
Runtimefinal class3 +1The engine, booted for a command: reads the site's wp-config.php (which
SearchReplaceCommandfinal class1 +3`wp search-replace`: walks every string column, including serialized
ThemeCommandfinal class8 +2`wp theme list|install|update|activate|delete`: the inventory CaptainCore
UserCommandfinal class6 +3Users: the list and get views, and the one-time login link.

Minn\Content 42

The repositories and records: posts, users, terms, comments, and the render pipeline.

ClassKindMethodsSummary
Autopfinal class1 +9Classic-content paragraphing (wpautop): blank lines become paragraphs,
Blocksfinal class3The content pipeline's front door: block markup goes through the block
Clickablefinal class2 +2Bare addresses in text made links (make_clickable, probe
CommentClassesfinal class1The class tokens a rendered comment carries: its type, its author, odd/even and thread alternation, depth, then the caller's extras.
CommentRecordfinal readonly class11One row of the comments table, read by name: $comment->author, ->content,
Commentsfinal readonly class20Reads and writes over the comments table.
ContentScanfinal class7 +1What a site's stored content asks of the engine: shortcodes, block
Emojifinal class2 +2Emoji as the reference's mail and feeds carry them, from the list the
Excerptfinal class1 +4The reference's generated excerpt, as captured from probe posts:
Inventoryfinal readonly class5 +3Plugins, themes, must-use plugins, and drop-ins as they sit on disk.
Linksfinal readonly class4 +3The links manager's table, as get_bookmarks and wp_insert_link read and
MediaShortcodesfinal class3 +9The [video] and [audio] shortcodes as the reference prints them: a
MenuItemfinal readonly class0One classic nav_menu_item, fields resolved from the post, its
Menusfinal readonly class16 +10Classic nav_menu terms and nav_menu_item posts. The front uses these
MoreTagfinal class1The `<!--more-->` marker that splits a post into the part a listing shows
NoteMarkersfinal class1 +1The markers the block editor's notes leave in content: a mark element
ObjectLabelsfinal class1A post type's or taxonomy's labels from its own and the defaults
Pagefinal readonly class5One page of a listing: the rows on it and how many rows the whole
PasswordGatefinal class6A password-protected post on the front end: its body is the password
PersonalDatafinal class2Personal data as the privacy tools hand it over (probe privacy): an
Playlistfinal class2The [playlist] shortcode's markup as the reference prints it (probe
PluginStatefinal readonly class4 +1Switching plugins on and off: a WordPress plugin file goes through the
PostClassesfinal class2The class list a post carries on its article element, in the reference's
PostRecordfinal readonly class15One row of the posts table, read by name. The columns keep their
PostSlugsfinal readonly class1 +3Which slug a live post may take beside the others, as the reference
PostStatusenum4The statuses a post row can hold; the value is the column's own spelling.
PostWriterfinal readonly class33 +5Every write to the posts table and its satellites: rows, meta, term
Postsfinal readonly class32 +9Reads over the posts table. A post comes back as a PostRecord; a listing
Readerfinal class5Who is reading this request: their user id, whether they may read
Revisionsfinal readonly class4 +1Revision rows: the plain snapshots and the per-author autosave slots.
RowCachefinal class7 +1Rows read once a request: posts, their terms, users, and every object's
Sitefinal readonly class9Site-wide options and the site's clock.
SiteIconfinal readonly class4The site icon: the attachment the site_icon option names, as the file
Slugfinal class4
TagBalancerfinal class1 +3Closes what markup leaves open and drops what it closes without opening,
TermLinksfinal class2 +1A post's terms rendered as links, in the two shapes the reference
TermRecordfinal readonly class9One term with its taxonomy row, read by name: $term->name, ->slug,
Termsfinal readonly class14 +3
TextFiltersfinal class9 +3The small text filters the reference runs over content, titles and
Texturizefinal class11 +3The texturize subset the reference applies to rendered text: straight
UserRecordfinal readonly class9One row of the users table, read by name. Columns keep their WordPress
Usersfinal readonly class23 +3

Minn\Cron 1

Scheduled publishing.

ClassKindMethodsSummary
Cronfinal readonly class4 +8The engine's scheduled work: scheduled posts go live when their time

Minn\Extension 8

The extension contract and its seams.

ClassKindMethodsSummary
Extensioninterface1What a Minn extension is: a class the engine constructs once per request
Extensionsfinal class2Where the engine looks for the seams an extension registered. The
Loaderfinal class6 +1Finds extensions under wp-content/plugins and wp-content/mu-plugins,
Manifestfinal readonly class1 +1minn.json, read as data. A folder under wp-content/plugins (or
Registrationsfinal readonly class0Everything the extensions registered for this request, handed from Seams to the runner once.
SeamRunnerfinal readonly class8The engine's side of the seams: what the loader collected, called at the
Seamsfinal class12Where an extension can take part in a request: eight typed registrations,
Shortcodesfinal class2The shortcode syntax in rendered content: [tag], [tag attr="v" flag],

Minn\Feed 8

ClassKindMethodsSummary
Charsetfinal class2 +2A feed document as UTF-8. The encoding comes from a byte-order mark,
Datesfinal class1Feed dates (RFC 822, W3C, and the looser forms feeds carry) as Unix timestamps; a date without a zone is UTC.
Documentfinal readonly class9A parsed feed: the tree and the format it was recognized as (the
FeedErrorfinal class0A feed that could not be read: the message is the one the reference reports.
Irifinal class2 +5URLs in feeds: a reference resolved against its base (RFC 3986), then
Locatorfinal class2 +1Feed autodiscovery: the feeds an HTML page names in its
Partsfinal class4 +1The repeating parts of a feed element read out of the tree as raw
Treefinal class1 +8A feed document parsed into the nested arrays plugin code reads through

Minn\Front 44

URL resolution, permalinks, feeds, sitemaps and the public page.

ClassKindMethodsSummary
AdminBarfinal readonly class3 +18The Minn bar on the public site: the same server-rendered chrome the
ArchiveAddressesfinal readonly class7 +1The archives an address may stand for, as the reference answers them:
Archivesfinal readonly class2 +1The archive periods wp_get_archives lists: months, years, days and weeks
AssetsControllerfinal readonly class3The engine's own static assets, served under a reserved path.
AttachmentAddressesfinal readonly class4 +1The addresses an attachment's page answers to besides those its rules
Calendarfinal readonly class1 +5One month as the calendar widget and block draw it: a table whose caption
CalendarLabelsfinal readonly class2 +1The words a calendar prints: weekday names Sunday first, the short form
Canonicalfinal class1 +1Where a URL should redirect to, by the engine's own resolution: the
CommentPostControllerfinal readonly class1 +2wp-comments-post.php: the comment form's target. The reference's
CustomLogofinal class1The site logo a theme prints, as get_custom_logo builds it (probe
EmbedCardfinal class6The parts of a post's embed card the reference's embed template prints,
FeedControllerfinal readonly class2 +2The feeds, wherever a request asks for one: the feed var of the rule its
FeedTagsfinal class7 +1The template tags a feed is written with that take more than a line, as
FeedTemplatesfinal class1 +15The feed templates do_feed_* loads, written from the reference's output
FeedWriterfinal class6A feed as it is written: text as given, and what each template tag and
FrontControllerfinal readonly class3 +2The public site. One catch-all route: resolve the URL, then either
Kindenum0What a public URL resolved to.
ListingLinksfinal class4The prev/next links a paged listing prints: which page sits either side of
Maintenancefinal class1Maintenance mode, as hosting tools and updaters switch it on: a
PageLinksfinal class1The links between the pages of a post split with <!--nextpage-->, as
Paginationfinal class2Numbered page links in the reference's shape: previous, the end and
Permalinksfinal readonly class18 +3Builds public URLs from the site's permalink structure. With an empty
PostEmbedfinal class5 +1A post as other sites embed it, the oEmbed provider side, as the
PostNavigationfinal class3 +1The links to the posts either side of this one, and the nav block that
PrintedResponsefinal class1 +1A response WordPress's handlers print themselves (a sitemap, robots.txt),
ProbeControllerfinal readonly class5The surface monitors, crawlers, and hosting checks hit that is not a
QueryMovesfinal readonly class1 +6Where the root's archive query forms move under pretty permalinks, as
Redirectsenum3Whether a resolution may answer with a canonical redirect. A GET or HEAD
Rendererfinal readonly class2 +2The interim public theme: one clean template until the block-theme
RequestParsefinal class3The query vars the reference's request parse sets for an address
Resolutionfinal readonly class15The outcome of resolving a public URL: which kind of thing it names,
Resolverfinal readonly class5 +12Turns a public URL into a Resolution the way the reference's request
RuleRoutesfinal readonly class1 +7What a matched rewrite rule's query vars name, as the reference's main
RuleTablefinal class2 +4An address read as WordPress's request parse reads it (suites
SingleAddressesfinal readonly class3The addresses a single answers to besides its own, as the reference
SingleQueriesfinal readonly class1 +3The single a query string asks for, as the reference's request parse and
SitemapControllerfinal readonly class5 +1The sitemap index, its pages, and the two stylesheets, as the
SitemapRequestfinal class2 +2A sitemap request at template_redirect, as the reference's sitemaps
SitemapXmlfinal class2 +3The two sitemap documents, index and URL set, from entry maps; one
Sitemapsfinal class3 +1What the sitemaps share with WP_Sitemaps, which serves them: the two
TermListsfinal class5 +1A term's parent chain and the tag cloud, built from term rows the caller
ToolbarMarkupfinal class5WP_Admin_Bar's markup, piece by piece, as the reference prints it (probe
ToolbarMenusfinal class16 +4The nodes WordPress puts on the toolbar itself, as the reference adds
ToolbarTreefinal class1 +3WP_Admin_Bar's nodes bound into the tree they print as, as the reference

Minn\Html 7

The HTML tag processor.

ClassKindMethodsSummary
Decoderfinal class4 +3Character reference decoding for text and attribute values: numeric and
Editsfinal class19 +3The edits pending on the current token: attribute sets and removals,
Escapedfinal readonly class0An attribute value that comes already escaped (a URL through esc_url), written as it is.
Scannerfinal class10 +2Reads one token's shape out of raw HTML at an offset: a tag with its
TagQueryfinal readonly class2A tag processor's next_tag() query: a tag name (any case), a class, the
Tagsfinal class35 +10A streaming HTML tokenizer with in-place edits: every token in document order, attributes decoded,
TokenMapfinal class4 +1A map from words to replacements that reads the longest word at a place

Minn\Html\Tree 13

ClassKindMethodsSummary
BodyRulesfinal class2 +32The "in body" insertion mode, with select handled in body as the current
Builderfinal class43 +9The HTML tree construction algorithm over the engine's tokenizer, as the
Compatfinal class2 +1The compatibility mode a doctype indicates, by the identifier lists in
Eventfinal readonly class1One step of the walk the HTML processor reports: a node opened (pushed)
ForeignRulesfinal class1 +5The rules for content in SVG and MathML: text and comments stay in the
Formattingfinal class8 +1The list of active formatting elements, with its markers (null): the
HeadRulesfinal class1 +23The insertion modes around the body: initial (doctype and the
Nodefinal class11A node the tree builder places: an element (named as the HTML API
OpenElementsfinal class12 +1The stack of open elements and the spec's scope tests over it: an
Serializerfinal class5 +1Normalized HTML for the processor's walk, token by token: tag names
TableRulesfinal class1 +27The table insertion modes: in table (and its text), in caption, in
Tokenfinal readonly class5A token as the tree builder reads it: a tag (name upper-cased), a run of
Unsupportedfinal class0Where the reference's HTML processor stops: markup whose tree it does

Minn\Http 37

Request, response, routing, and the outgoing client.

ClassKindMethodsSummary
Accessenum0Who a route is for. The six answers every route gives, so the
Argsfinal class1The parameters a route accepts, as the reference describes them in the
CertificateNamefinal class3Whether a TLS certificate names a host: a wildcard only as a whole first
CookieTextfinal class6Set-Cookie text and the matching rules a cookie jar applies: parsing a
Destinationfinal readonly class3 +3Where Minn\Http lets a request go. Only http and https; when hosts are
DiePagefinal class1 +1The page wp_die shows a browser, as the reference draws it (probe
Downloadfinal readonly class1A file the engine fetches for itself (a package, a language pack), over
Envelopeinterface1What runs around a matched route once the router knows the route takes
Exchangefinal readonly class7What came back: the final response's status, headers (repeats as lists), Set-Cookie values, and body, or the transport error.
Failurefinal class10 +5What the public sees when the engine cannot answer: a plain page with no
Fakefinal class5 +1Answers requests in place of the network, and keeps what was sent. A test
Ipv6final class3IPv6 addresses as text: written out in full (eight groups, or six and an
IriPartsfinal readonly class7 +4An IRI (a URL that may carry non-ASCII text) split into its parts and
Kernelfinal readonly class1 +1The edge. Turns a request into a response through the router and turns
LegacyHeadersfinal class2WP_Http's legacy readers, kept for plugins that still call them (probe
Locationfinal class3 +1Where a redirect leads: a Location header made absolute against the URL that sent it.
Matchedfinal readonly class0A route the router matched to a request and whose policy it judged: the
MediaTypefinal class1Reading the media types a request names in its Accept and Content-Type headers.
Methodenum3
Outboundfinal readonly class2One outgoing HTTP request, normalised: the transport needs nothing else.
Policyfinal readonly class6What a route requires of its caller, as data on the route: the router
Punycodefinal class3 +3Internationalized host names in ASCII: each label that is not ASCII is
RawResponsefinal class6An HTTP response as text, the way the Requests library hands it from
Refusalinterface1A refusal a route judges after its arguments and before its policy: the
Requestfinal readonly class11An immutable picture of the incoming request. Built once from the PHP
RequestFailedfinal class0Thrown by Exchange::throw() when no response arrived or it was not a 2xx; the exchange rides along.
RequestsNamesfinal class1The Requests library's PSR-0 class names (Requests_Exception_HTTP_404,
Responsefinal readonly class12What a handler returns. Nothing is written to the client until the
Routefinal readonly class3Declares a handler method as a route. The policy lives here, as
RouteMissfinal class0A handler declining a request its pattern matched: the router swallows
RouteParamsinterface1The parameters a route takes when they depend on what its captures name
RouteRowfinal readonly class3 +1One line of the route table: what a route is, who it is for, and what it
Routerfinal class6 +7Matches a request to a #[Route] on one of the registered handler
StatusTextfinal class1The reason phrase a status line carries for each code, as the reference's
Subjectenum2The record a route capture names, so a policy can have it looked up
Transportfinal class1 +4The engine's outgoing HTTP transport over curl: it sends exactly what an
TrustedProxiesfinal readonly class5 +3Which addresses in front of the engine may speak for the client.

Minn\I18n 13

ClassKindMethodsSummary
Catalogfinal readonly class6One translation file's contents: its headers as written, its messages
Gettextfinal class7 +1Translation as plugins see it (__, _x, _n and the rest map here): the
LegacyPluralFormsfinal class2 +6The plural expression reader the old POMO library carries (Plural_Forms),
LocalDatesfinal class1A date in the site's language, as the reference's wp_date writes one:
LocaleStackfinal class6The locales a request switched into, innermost last, each with the user
MoFilefinal class2 +4The GNU gettext binary catalog (.mo), read and written. The file opens
PhpFilefinal class1The PHP translation file (.l10n.php): a file that returns an array of its
PluralExpressionfinal class2 +5The C subset a Plural-Forms header writes its rule in: the number n,
PluralRulefinal readonly class4A language's plural rule from its Plural-Forms header: how many forms it
ScriptTranslationsfinal class5 +1Where a script's JSON translations are found, and how they reach the
SiteLanguagefinal class3The site's language as pages declare it: the locale in force (a switched
TextDomainsfinal class19 +1The text domains this request knows: each domain's files in the order they
TranslationFilesfinal class3Which file a request for a .mo path reads, and reading it. Asked for

Minn\Login 5

/wp-login.php and the sign-in surface.

ClassKindMethodsSummary
LoginControllerfinal readonly class2 +22Signing in. The page people see is /minn-admin/login: the form, the
LoginFormfinal class10 +2The sign-in page markup.
LoginHooksfinal readonly class10The sign-in as plugins see it, when they are loaded. The credentials go
LoginNoticesfinal readonly class9 +1What a sign-in page tells the reader, held as the reference's pages hold
ServeLoginfinal class0Thrown by the wp-login.php shape file when plugin code require's it

Minn\Mail 24

Sending mail and the notices the engine sends.

ClassKindMethodsSummary
AddressRulesfinal class4 +1Email addresses: the checks a mailer can apply (PHP's filter, the
ChangeNoticesfinal class3The notices the reference mails a user when their password or email
Composerfinal class8 +11A message as the reference's mailer writes it: the header block (Date,
DataLinesfinal class1A message cut into the lines SMTP DATA sends. Any line break (CRLF, CR
DebugOutputfinal class2 +2Where a mailer's debug text goes, as its Debugoutput setting names it:
Dkimfinal class6 +1DKIM signatures (RFC 6376) as the reference's mailer writes them:
Draftfinal readonly class3Everything a message is composed from: the transport it goes out on
HeaderWordsfinal class4 +3Header text as mail carries it (RFC 2047): left alone when it is plain
HostEntryfinal readonly class2One entry of a mailer's Host setting ("host", "host:port",
HtmlMessagefinal class5What a mailer reads out of an HTML message: the images it can carry
MailHeadersfinal readonly class2 +2The headers argument of wp_mail() read the way the reference reads it:
MailLogfinal class3The engine's development transport: each message as one JSON line
MailSettingsfinal readonly class3How mail leaves the site, from the minn_mail option (JSON or a serialized
Mailerfinal readonly class4 +3Sends a Message through the configured transport. Failures are logged
MailerStringsfinal class2 +1The mailer's English messages, keyed as plugins look them up
Messagefinal readonly class1One outgoing plain-text email.
MimeTypesfinal class2The MIME type a mailer gives an attachment by its file extension (the
Noticesfinal readonly class5 +1The messages the engine itself sends, worded as the reference words them
PathPartsfinal class1A path's parts the way a mailer names attachments, safe for multibyte
Smimefinal class1S/MIME signing of a composed MIME entity with a certificate and key on
Smtpfinal readonly class1Delivery over SMTP for the engine's own mail when WordPress's mail
SmtpSessionfinal class21 +9One SMTP conversation as the reference's client holds it: the socket,
TextWrapfinal class3 +5Word wrapping for mail text. Lines break at spaces once they would pass
Transferfinal class7Body text in a content transfer encoding, and the line-ending helpers

Minn\Media 13

Uploads, image sizes and attachment metadata.

ClassKindMethodsSummary
AvifInfofinal class1 +5An AVIF file's primary image as wp_get_avif_info reports it (probe
Canvasfinal readonly class13 +4One GD bitmap and the operations the media layer needs on it. Every
Galleryfinal class3 +3The classic `[gallery]` shortcode's markup. Every gallery on a page is
Iconsfinal class1 +2The icon a file type is shown with, as wp_mime_type_icon finds it (probe
ImageMimefinal class1An image file's real type from its first bytes, as the reference sniffs
Kindfinal class2Whether an attachment is an image, audio, video, or a given extension, judged by its MIME type first and its file extension second.
Metadatafinal class3The _wp_attachment_metadata blob: parsed by scanning for the shapes it
PhotoMetafinal class1 +6A photo's own description, read as the reference's wp_read_image_metadata
Sizingfinal class8 +2The image size arithmetic the media functions share: the crop or scale a
Uploadfinal readonly class5One file arriving for the library, on either transport: a multipart
Uploadsfinal readonly class8The uploads directory: paths, URLs, the allowed types, and landing a file.
WebpInfofinal class1A WebP file's size and kind from its first 40 bytes, as wp_get_webp_info
Writerfinal readonly class3Where the media library's files live, as a REST upload names them: a

Minn\Ops 18

ClassKindMethodsSummary
Archivefinal class4 +1A zip unpacked the safe way, for the plugin and theme installer and for
AutoUpdatesfinal readonly class2 +1Whether per-item auto-updates apply to plugins or themes, as the
Changelogfinal class4 +1A changelog read from its repository rather than shipped: a Minn release
CoreStatusfinal readonly class4The core the app's update banner and chip speak of, which on Minn is
Diagnosticsfinal readonly class4 +16The System view's facts about this install: the engine, PHP, the
Directoryfinal class3The Minn update service, https://updates.minn.run: the one place the
DirectoryApifinal readonly class1 +2plugins_api() and themes_api() as plugins call them and answer them
EngineChecksumsfinal readonly class1 +6Checks a Minn install's files against the release they claim to be, the
EngineUpdatefinal readonly class4 +3Replaces the running engine with a published release. The release's
InstalledSoftwarefinal readonly class3What is installed, as the System view lists it: every extension and
Logsfinal readonly class8The log files the System view can read and clear: the debug log the
Packagesfinal readonly class17 +8Putting plugins, themes and extensions on disk. Plugins and themes come
Releasefinal readonly class3One published Minn release as the update service describes it (and as
Releasesfinal class5 +1Whether a newer Minn is out, asked of the Minn update service at most
ShapeFilesfinal class3 +5The files an install lays at the webroot for tooling to find: the shape
Unzipfinal readonly class2 +3An archive unpacked as unzip_file() unpacks it (probe unzip-file): into
Updatesfinal class19 +8Update offers for the site's plugins and themes from the directory, asked
UpgraderRunfinal readonly class2 +3The engine's own installs and updates, run through the reference's

Minn\Query 10

Shared SQL fragments.

ClassKindMethodsSummary
AuthorPostsSqlfinal class1get_posts_by_author_sql as the reference writes it: for each type, its
CommentOrderfinal class4 +2WP_Comment_Query's ORDER BY and LIMIT as the reference writes them
DateSqlfinal class13 +4The WHERE fragment of a date query in the reference's shape: before and
MetaSqlfinal class11 +7The JOIN and WHERE fragments of a meta query in the reference's shape:
MimeWherefinal class1 +1wp_post_mime_type_where as the reference writes it (probe wp-query-sql):
NetworkSqlfinal class15 +6The SQL WP_Site_Query and WP_Network_Query build from their variables
PostOrderfinal class3 +2WP_Query's ORDER BY as the reference writes it (probe wp-query-sql): the
PostSearchfinal class6WP_Query's search as the reference writes it (probe wp-query-sql): the
Sqlfinal class5Literal quoting for the SQL fragments the query classes hand to plugins,
TaxSqlfinal class8 +2The JOIN and WHERE fragments of a taxonomy query in the reference's

Minn\Rest 85

The wp/v2 surface: shapes and controllers.

ClassKindMethodsSummary
Apifinal readonly class25 +6The REST API: wires the controllers for one request and dispatches a
ApplicationPasswordsControllerfinal readonly class7 +5wp/v2/users/{id}/application-passwords: list, create, rename, delete,
ArgCheckfinal readonly class2 +3Judges a route's declared arguments against the request before the
BatchControllerfinal readonly class1 +7batch/v1 as the reference answers it (probe rest-batch): up to 25
BatchRequestfinal class1The requests a batch payload names, normalised into descriptors the
BlockRendererControllerfinal readonly class1 +3wp/v2/block-renderer as the reference answers it (probe
BlockTypesControllerfinal readonly class4 +4wp/v2/block-types as the reference answers it (probe rest-block-types):
BlocksControllerfinal readonly class5wp/v2/blocks: synced patterns and reusable blocks, stored as wp_block
Callerfinal class14 +1Who is making this REST call. Resolved once from the cookie and nonce;
Cataloguefinal class2 +1The route table read from the classes alone: every #[Route] under
ClientSchemafinal class2 +3A JSON schema trimmed for a client (probe json-schema): only the keywords
CommentListArgsfinal class1The WP_Comment_Query arguments a comment list request makes, as the
CommentObjectfinal readonly class2 +1The wp/v2 comment object; edit context adds the moderation-desk fields.
CommentsControllerfinal readonly class5 +7wp/v2/comments: the status tabs with pagination headers, single,
Contextenum2The view a REST caller asked for. View is the public shape, edit adds the
DeclaredPostsControllerfinal readonly class5 +1wp/v2/{rest_base} for extra post types declared by an active extension.
DeclaredTermsControllerfinal readonly class5wp/v2/{rest_base} for the taxonomies plugin code registers to show in
Embedfinal class4 +6The _embed decoration and the embed context. Every embeddable link in an
EngineRoutesfinal class2The engine's own REST routes in the reference's regex form, for the
ExistingPostfinal class1A post created with an id names one that exists: refused with
Fieldsfinal readonly class5 +1The _fields response filter. Dot paths descend ("title.rendered"); the
GlobalStylesControllerfinal readonly class6 +6wp/v2/global-styles: the site editor's saved styles (one post per
GlobalStylesObjectfinal readonly class3 +2The wp/v2/global-styles item, theme, and revision shapes.
IndexControllerfinal readonly class2The API index at /wp-json/: the site facts monitors read (name, url,
InstalledThemesControllerfinal readonly class3 +6wp/v2/themes as the reference answers it (probe rest-themes): the
Linksfinal class3Response link relations compacted through CURIEs: a rel that matches a CURIE's template becomes `name:suffix`, and the used CURIEs ride along.
LiveSettingsfinal readonly class3 +1wp/v2/settings with plugins loaded, served from the registered settings
MediaControllerfinal readonly class5 +7wp/v2/media: list, single, upload on both transports (multipart field
MediaObjectfinal readonly class3 +2The wp/v2 media object, view and edit context.
MenuItemObjectfinal readonly class1The wp/v2/menu-items resource.
MenuObjectfinal readonly class1The wp/v2/menus resource: a nav_menu term plus locations and auto_add.
MenusControllerfinal readonly class12 +6wp/v2/menus, menu-items, and menu-locations. Viewing needs edit_posts;
NavigationControllerfinal readonly class5wp/v2/navigation: the block theme's navigation menus, stored as
ParamCheckfinal class2 +1The required / validate / sanitize pass over a request's declared arguments.
PluginsControllerfinal readonly class6 +9wp/v2 plugins: what sits in wp-content/plugins, in the reference's
PolicyGatefinal readonly class2 +6Judges a route's policy against the caller, with the reference's
PostCollectionParamsfinal class5 +9A post type's collection parameters as the reference builds them for its
PostListArgsfinal class2 +5The WP_Query arguments a post list request makes, as the reference makes
PostObjectfinal readonly class9 +12Builds the wp/v2 post and page objects in the reference's shape: the
PostsControllerfinal readonly class5 +3wp/v2 posts and pages, read side.
PostsWriteControllerfinal readonly class8 +17wp/v2 posts and pages, write side: create, update, trash, and force
RegisteredFieldsfinal class4 +4The fields plugin code adds to an object type with register_rest_field,
RegisteredPostFieldsfinal readonly class1 +1The REST object of a post whose type plugin code registered (probe rest-plugin-types), built by what the type supports.
RegisteredTypefinal readonly class5A post type plugin code registered, as its REST object follows it
RenderedFieldsfinal class5 +1A post's rendered title, content and excerpt as a REST response carries
Replyfinal class5JSON responses in the reference's shape: its header set, its json_encode
RestMetafinal class12 +7An object's meta field over REST, from the keys registered to show
RestUrlfinal readonly class3REST URLs in the form the reference emits for the site's permalink mode:
RevisionsControllerfinal readonly class7 +6wp/v2 revisions under posts, pages, patterns and navigation menus, and
RouteArgsfinal class1The argument groups a route registers with, filled the way register_rest_route fills them.
RouteCataloguefinal readonly class3The routes the engine serves, described in the reference's shape for the
RouteIndexfinal class1 +1The description of one route the REST index publishes: namespace, methods, endpoints with their argument schemas, self link.
RouteMatchfinal class2Finds the registered handler for a method and path among the runtime's route table.
RouteTablefinal class1The registered endpoints in dispatch shape: one handler list per route, methods as a set, non-numeric keys lifted into the route's options.
RuntimeEnvelopefinal readonly class1 +6The REST server's filters around one of Minn's own routes, as the
RuntimePreparefinal class5 +3An item a REST response carries, through the filter the reference runs
RuntimeRoutesfinal class19 +10Routes plugin code registered with register_rest_route(), answered
Schemafinal readonly class10 +10JSON-schema handling the way the REST API's argument validation does it:
SchemaChoicesfinal readonly class4 +2anyOf and oneOf the way the REST API's validation judges them (probe
SchemaDatafinal class1REST schemas captured from the reference for the facade's controller
SchemaValuesfinal class18 +1The value side of JSON Schema, as the reference applies it: what counts
SearchControllerfinal readonly class1 +5wp/v2 search over published content: id, title, url, type, and the
Servicesfinal class53 +1The objects one REST request shares, each made once, on first use, from
Settingsfinal readonly class2The registered settings the Settings views read and write, mapped to
SettingsControllerfinal readonly class1wp/v2/settings: read and write, both behind manage_options; with plugins loaded, every registered setting (LiveSettings).
SidebarsControllerfinal readonly class7 +4wp/v2/sidebars and wp/v2/widget-types as the reference answers them
StatusesControllerfinal readonly class2 +4wp/v2/statuses as the reference answers it (probe rest-statuses): every
Subjectsfinal readonly class3 +2Whether the record a route capture names exists, for the policy gate to
Taxonomiesfinal class4The taxonomy registry the wp/v2 surface describes: the core set seeded
TemplateObjectfinal readonly class2 +1The wp/v2/templates and wp/v2/template-parts resource.
TemplatesControllerfinal readonly class12 +13wp/v2/templates and wp/v2/template-parts: the block theme's templates as
TermCollectionParamsfinal class1A taxonomy's term list parameters as the reference declares them (probe
TermFiltersfinal class1 +1A term a REST read answers with, as plugin code filters it on the
TermListArgsfinal class1The get_terms arguments a term list request makes, as the reference
TermObjectfinal readonly class4 +2The wp/v2 category and tag objects.
TermsControllerfinal readonly class6 +2wp/v2 categories, tags, and pattern categories: list, single, and the create/update/delete the taxonomy admin drives.
Typesfinal class8 +3The engine's registry of built-in post types, seeded from the observed
UrlDetailsfinal class1 +3A page's details as the editor's link previews read them (probe
UserCollectionParamsfinal class1The users list's parameters as the reference declares them (probe
UserListArgsfinal class1The WP_User_Query arguments a user list request makes, as the reference
UserObjectfinal readonly class3 +2The wp/v2 user objects: the public view shape and the edit-context shape.
UsersControllerfinal readonly class8 +8wp/v2 users: me, list, single, and the create/update/delete-with-reassign the Users view drives.
ViewConfigPatchfinal class3 +3A patch to a view configuration (WP_View_Config_Data; probe
WidgetObjectfinal readonly class2 +1A widget as wp/v2/widgets shows it (probe rest-widgets): its id and base,
WidgetsControllerfinal readonly class5 +3wp/v2/widgets as the reference answers it (probe rest-widgets), for

Minn\Runtime 112

The WordPress runtime plugins load against.

ClassKindMethodsSummary
Abilitiesfinal class15 +3The abilities registry behind WP_Abilities_Registry,
AbilityRunfinal class3The checks of an ability's run, as the reference makes them (probes
AccountFlowsfinal class4 +1The account functions a sign-in page and plugins call, with the
AjaxControllerfinal readonly class2 +3admin-ajax.php, the endpoint plugins post their front-end work to: a form
AllowedOptionsfinal class1The settings-page allowlist plugins extend: option group => the option
ApplicationPasswordEventsfinal class2 +1Application password changes made over REST, as the reference makes them
ApplicationPasswordSignInfinal class2 +1wp_authenticate_application_password as the reference answers it (probe
ArchiveLinksfinal class2A post type's archive address and its feed, as the reference gives them
AssetEditsfinal class1What a plugin did to $wp_scripts->registered or $wp_styles->registered
Assetsfinal class29 +5The registry behind wp_register_/wp_enqueue_ for scripts and styles:
Avatarfinal class6Avatars the way get_avatar_data and get_avatar decide them: the argument
BlockFiltersfinal class7 +1The block-level filters plugin code hooks (pre_render_block,
BlockHooksfinal class4The Block Hooks API on the engine's own front end: a plugin asks for its
BlockMetadatafinal class2 +1block.json to the settings a block type registers with: the property
BlockTemplatesfinal class5Block templates plugins register at runtime, by their namespaced name
BlockWidgetfinal class1A block widget's legacy class name. Every widget the block editor saves
BrowserGlobalsfinal class1 +1The browser and web server a request names, as the reference's globals
CommentCloserfinal readonly class2The Discussion setting that closes comments on old posts. Observed on the
CommentEventsfinal readonly class11 +5What the reference's REST comments controller tells plugins, for the
CommentFeedQueryfinal class2 +2The comments a comments feed's main query carries, as the reference
CommentFormfinal class1 +3The comment form's submission with plugins loaded
CommentPagesfinal class4 +1Which page of a post's comments a comment falls on, and the link that
CommentQueryfinal readonly class1The approval breakdown wp_count_comments reports (comment lists run through WP_Comment_Query and Minn\Runtime\CommentQueryRunner).
CommentQueryRunnerfinal class2 +2WP_Comment_Query as the reference runs it (probe wp-comment-query-sql):
CommentQueryWherefinal class2 +9WP_Comment_Query's WHERE pieces and the posts join, in the reference's
CommentThreadsfinal class2A threaded or flat comment query's descendants as the reference fills
Connectorsfinal class12 +1The connectors registry: the external services a site talks to (AI
Constantsfinal class1 +1The constants plugin code expects: the fixed set from data/constants.json
CronTablefinal class10The cron option's shape, operated on as data: timestamp => hook => key =>
CurrentUserfinal class1Who the request is, as the reference settles it before init: the user
DbDeltafinal readonly class6 +1dbDelta as the reference does it: a CREATE TABLE statement creates the
DebugModefinal class5PHP's error settings from the debug constants, as the reference's boot
Deferralsfinal class5 +1The switches an importer flips for the length of a request (probe
EarlyFiltersfinal class1Filters that run before the runtime exists, over the hooks added that
FileTypeCheckfinal class1 +2A file's type from its content as much as its name, as the reference's
FileUploadfinal class1 +2A file a plugin hands to wp_handle_upload or wp_handle_sideload, taken in
Heartbeatfinal class1The heartbeat a signed-in page beats through admin-ajax.php, answered as
Hooksfinal class23 +4The hook registry plugin code registers into and the engine fires.
Interactivityfinal class8 +15Server-side directive processing for the Interactivity API: the state and
MenuEventsfinal readonly class8 +2Menus and their items saved as the reference saves them, telling
MenuItemMarksfinal class1 +7The classes and current flags the reference gives a menu's items for the
Metafinal readonly class17 +1The four meta tables behind get_metadata and friends: reads by object, and the row-level writes the update and delete rules need.
MetaKeysfinal class7 +2The meta keys code registers, kept where the reference keeps them
MetaTypesfinal class2Meta types a plugin brought, by the table it named on $wpdb as
NavMenufinal class1 +3wp_nav_menu()'s menu: the one the arguments name, its items marked for
NavMenuItemsfinal class2 +7Classic menu items as the reference serves them to walkers and plugins
OEmbedfinal class6oEmbed as data: provider matching against the wildcard table, response parsing, and the markup an oEmbed payload becomes.
ObjectCachefinal class7The per-request object cache behind wp_cache_*: groups of keys, nothing persistent.
ObjectTermsfinal class1wp_get_object_terms's handling of taxonomies registered with their own
OptionSanitizerfinal class1 +8A core option's value cleaned as the reference's sanitize_option cleans
Optionsfinal class19 +8Options as plugin code sees them, kept where the reference keeps them:
OptionsGroupfinal class4wp_cache's options group, where option reads are kept as the reference
Pagesfinal class5get_pages() as the reference shapes it: its arguments as a post query
Patternsfinal class14The block pattern, pattern category, and block style registries as data.
PlaceholderTracefinal class2Records every call into a generated placeholder while a site opts in by
Placeholdersfinal class2 +3The printf placeholders plugin code hands wpdb::prepare, filled the way
PluginActivationfinal class2 +1Switching a plugin on and off the way the reference's activate_plugin
PluginRemovalfinal class2 +5Deleting plugins as the reference's delete_plugins does it: each in turn
PluginRequirementsfinal class1 +2Whether a plugin can be switched on here, as the reference's
PluginUpdatesfinal class2 +1The update offers the site's own plugins publish. A plugin that hosts
Pluginsfinal class6 +6Loads the site's plugins into the runtime the way the reference does:
PostDatafinal class2The loop's view of a post, as the reference's generate_postdata and
PostEventsfinal readonly class13 +2What the reference's REST controllers tell plugins about a post they
PostInsertfinal readonly class5 +1The decisions behind wp_insert_post: which columns a postarr fills, when
PostLinksfinal class5 +3Post addresses as the reference's link functions build them (probe
PostLookupfinal readonly class10The post reads plugin code asks for by shape: a page by title, revisions, counts.
PostQueryfinal class3 +13WP_Query::get_posts as the reference runs it (probe wp-query-sql): the
PostQueryPartsfinal class3The pieces of one WP_Query run as the reference builds them and hands
PostQueryResultsfinal class1 +3What WP_Query does with its posts once it has them, as the reference does
PostQueryStatusfinal class2 +5WP_Query's post type and status clause as the reference writes it (probe
PostQueryTaxfinal class3 +5The taxonomy side of WP_Query as the reference runs it (probe
PostQueryWherefinal class4 +6The WHERE fragments WP_Query writes from its variables, in the reference's
PostRevisionsfinal class2 +2A post's revisions as the reference's wp_save_post_revision keeps them
PostSavefinal class9 +3A REST save's columns through the filters the reference's save runs
QueriedObjectfinal readonly class1 +1Which object a query is "about", read from its flags and variables: a term
QueryFlagsfinal readonly class3 +2The conditional flags a set of query variables implies (is_single, is_archive,
Recoveryfinal readonly class9 +6Recovery from a fatal in someone else's code. When a plugin or theme
Refusalfinal readonly class0A refused operation, the way plugin code expects to read it: a code, a message, optional data. The facade turns it into WP_Error.
RegisteredSettingsfinal class5Settings as register_setting keeps them (probe rest-settings): the
Registryfinal class28 +3Post types, taxonomies, and statuses as plugin code registers and reads
RewriteRulesfinal class6 +10The rewrite rules WordPress makes from its structures, as the reference
Runtimefinal class32 +1The WordPress runtime the engine offers plugin code: the procedural
ScriptLoadingfinal class4 +3How a script may load, as the reference decides it (probe
ScriptModulesfinal class15 +8The script modules registry: registrations with typed dependencies, the
ScriptPackfinal class5 +1The site-supplied script pack: the `wp-*` JavaScript packages the engine
Shortcodesfinal class15 +2The shortcode registry plugin code fills with add_shortcode, and the
StoredObjectsfinal class4 +1The classes a stored blob may name and come back as. The serialized
SymbolGapfinal readonly class7 +2The part of the reference's interface the runtime does not answer: names in
SymbolTablefinal class7What a folder's PHP names, collected while its tokens are read: the
Symbolsfinal class5 +10A static read of what a plugin's PHP calls: global functions and classes
TagEditorfinal class8 +3Edits one start tag's attributes in place the way the reference's tag
TermEventsfinal readonly class5 +2What the reference's REST terms controller tells plugins, for the
TermFieldsfinal class2 +2A term's fields in a context, as the reference's sanitize_term_field
TermOrderfinal class3A term query's ORDER BY as the reference writes it (probe
TermQueryfinal readonly class11 +7Term reads in the shapes plugin code asks for: get_terms() arguments to
TermQueryRunnerfinal class1 +12WP_Term_Query::get_terms as the reference runs it (probe
TermQueryTreefinal class4 +1What a term query does with its rows, as the reference does it (probe
TermSavefinal class2 +5wp_insert_term and wp_update_term in the reference's order (probe
TermWriterfinal readonly class8 +1The decisions behind wp_delete_term and the object-term relationships:
ThemeSupportsfinal class10 +1What a theme supports, as add_theme_support keeps it (probe rest-themes):
ThemeSwitchfinal class5 +3Switching the theme as the reference does it, in two halves. The switch
TreeWalkfinal class5 +3The Walker contract's traversal: elements keyed by the walker's
TypePropsfinal class2 +2A post type's or taxonomy's properties from the arguments it was built
UpdateCountsfinal class1The updates waiting, as wp_get_update_data counts them for the user
Upgradefinal class7 +10What WP_Upgrader does with a package (probe upgrader), for the facade's
UserEventsfinal readonly class4 +1What the reference's REST users controller tells plugins, for the
UserInsertfinal readonly class3The decisions behind wp_insert_user: what a new account needs, which email
UserOrderfinal class2 +1A user query's ORDER BY keys as the reference writes them (probe
UserQueryRolesfinal class1 +3A user query's roles and capabilities as the meta clauses the reference
UserQueryRunnerfinal class3 +6WP_User_Query as the reference runs it (probe wp-user-query-sql): the
UserSavefinal class3An account's fields through the filters the reference's wp_insert_user
WidgetAreasfinal class8 +2The widgets helper functions as the reference answers them (probe

Minn\Support 32

Escaping, serialized readers, small helpers.

ClassKindMethodsSummary
Accentsfinal class1 +1Accented and special characters to their plain spelling, from the
Backtracefinal class1A call stack named as wp_debug_backtrace_summary names it (probe
DirectoryListingfinal class1Walks a directory the way the filesystem API lists it: named entries, dot entries skipped, hidden ones optional, recursion optional.
Emailfinal class2The address rules the reference applies: a local part from a fixed
Entitiesfinal class3 +2HTML special-character encoding with the reference's quote styles and its
Escapefinal class2 +1Text made safe for HTML the way WordPress's escapers make it (esc_html,
FileHeadersfinal class1Header values from a plugin or theme file. The labels (Plugin Name,
FileTreefinal class2Whole-directory reads and copies. The engine's own installer, the update
Filesfinal class3Recursive filesystem work behind WP_Filesystem_Direct: best-effort tree
Flagfinal class1A yes or no as WordPress reads one from loose input (wp_validate_boolean).
Hierarchyfinal class2 +1Loops in a parent chain, found with two walkers: a slow one that takes one
Ipfinal class1Addresses with their identifying tail removed, for logs and analytics that
Ksesfinal class17 +12The HTML a user without unfiltered_html may store. Tags outside the
KsesAttributesfinal class3Kses one attribute at a time, for the shortcode pass that runs inside
KsesCssfinal class2 +2The style attribute as kses keeps it (safecss_filter_attr): each
KsesEntitiesfinal class2 +1The named references kses keeps as written: the list captured from the
KsesPolicyfinal readonly class7What one kses pass allows: the tags, each tag's attributes (allowed
KsesValuesfinal class2 +1The value rules an allowlist attribute may carry, as the reference judges
Listsfinal class8 +1List shaping behind the facade's array utilities: arguments over their
Localefinal class3The locale's calendar and number vocabulary as data: the names a site
Markersfinal class2The BEGIN/END marker blocks insert_with_markers() maintains in files like
Pathsfinal class3File-system path and permission spellings.
ScriptTagfinal class2 +1Script elements as the reference builds them (probe script-tags): the
SearchReplacefinal class1 +1String replace that walks serialized-PHP arrays of scalars without
Serializedfinal class8 +10Tolerant readers for the serialized-PHP blobs WordPress stores. Nothing
Slashesfinal class2 +1Magic-quote slashes the way WordPress keeps them (wp_slash, wp_unslash):
SqlTablefinal class2The table a SQL statement is about, as wpdb::get_table_from_query reports
Timefinal class1Human-scale spans: a number of seconds as the largest whole unit it fills, rounded, never below one.
TimezoneChoicefinal class1 +6The timezone choices a settings form offers (wp_timezone_choice, probe
Urlfinal class10 +1URL shaping the escaping and query helpers share: the character cleanup
Utf8final class12UTF-8 as the reference reads it. Well-formed means no overlong forms,
WebServerfinal class1What the SERVER_SOFTWARE string says about the web server in front of the site.

Minn\Theme 41

The block-theme reader, templates, global styles and the page renderer.

ClassKindMethodsSummary
ArchiveTitlefinal class2 +2The label and name an archive titles itself with: `Category:` around the
BodyClassesfinal class2 +1The body-class list a classic theme's body_class() starts from, in the
BodyFactsfinal readonly class0The facts about a page that decide the body classes a classic theme's
ClassicContentfinal class1What a classic theme's the_content() prints: the engine's block pipeline
ClassicRendererfinal readonly class3 +4A whole page from the active classic theme: the reference's PHP template
ClassicThemefinal readonly class1The active classic (PHP-template) theme on disk. A theme is classic when
CustomCssfinal class2 +2Custom CSS as theme.json and blocks write it (a styles node's "css", a
EmbedRendererfinal readonly class2A post's embed page (its /embed/ address, or ?embed= on it), the card
FeatureSelectorsfinal class1A block's styles split between the selectors its metadata gives its
FeedHeadersfinal class1 +1The headers a feed is sent with, as the reference's send_headers sends
Folderfinal readonly class5A theme folder read from disk: its style.css headers, which folder its templates come from, its screenshot, whether it is a block theme.
FontFacesfinal class2 +5fonts a theme.json declares in the shape they are printed from.
FrontLifecyclefinal class3WordPress's front-end request steps around the main query, as WP::main
GlobalStylesfinal readonly class17 +8theme.json to CSS. Presets become custom properties on :root and their
HeadLinksfinal readonly class4The engine's own pieces of a page's head: its block stylesheet link,
Hierarchyfinal class9The classic template hierarchy: the candidate file names each template
MainQueryBridgefinal readonly class3 +4Stands the main query for a themed page and runs the front-end steps
NotModifiedfinal class0Raised once a reader's copy of a feed has been found current and the
PageRendererfinal readonly class4 +3A whole page from the active block theme: the template the resolution
PatternHeadersfinal class4A theme's pattern files read by their headers, as WP_Theme::get_block_patterns
PatternTextfinal class1 +10Block-theme patterns are PHP files whose only code is a handful of
Printedfinal class0Raised once a WordPress handler has printed a whole response (a sitemap,
QueryClassesfinal readonly class1 +5The body-class tokens the main query stands for, in the reference's
SpacingScalefinal class1 +2The spacing sizes a theme.json spacing scale makes (probe
StyleLayersfinal class3What plugins change about the global stylesheet's layers and nodes, for
StylePresetsfinal class9The preset side of theme.json: the colour, gradient, font-size,
StyleSettingsfinal class3 +2The settings and styles nodes as wp/v2/global-styles reports them:
TemplateBufferfinal class1The reference includes a front-end template inside the template-enhancement
TemplateHierarchyfinal class1 +4The templates a block theme falls back through for a template slug, as
TemplateIndexfinal class13 +7Every block template and template part the site offers, in the order the
TemplatePartThemefinal readonly class1 +3A template-part block inside a template says which theme's part it means.
TemplatePatternsfinal readonly class1 +4A template can name a pattern instead of carrying its blocks, and the
TemplateRecordfinal readonly class2One block template or template part, whatever it came from: a theme
TemplateWriterfinal readonly class4 +3Saving and removing block templates. A template the theme ships is never
Templatesfinal readonly class7 +5Which template renders a resolution, and where its markup comes from:
Themefinal class19 +7The active block theme on disk, read as data: theme.json, the templates
ThemeJsonDatafinal class2 +1The theme's theme.json as plugins and the theme's own functions may
ThemeStylesfinal readonly class6 +4The active theme's global styles as wp/v2/global-styles/themes/{stylesheet}
TreeStylesfinal readonly class15 +2The CSS one theme.json tree writes, as WP_Theme_JSON keeps the tree
Typographyfinal class3 +1Font sizes as the reference writes them (probe plugin-queue3): a size in
UserStylesfinal readonly class6The site editor's saved global styles: one wp_global_styles post per

Minn\Widgets 2

ClassKindMethodsSummary
WidgetFormsfinal class14 +4The core widgets' settings forms, the markup a widget's form() prints and
WidgetTemplatesfinal class3 +3The Underscore templates the Text and Custom HTML widgets print for their