Docs / Review
Review
Share drafts through private links. Reviewers without an account leave feedback that lands as block Notes, right on the block they meant.
Hooks
Every default, limit and message has a filter, and every change fires an action.
axleReview.expiryChoicesFiltereditor panel | ( { value, label }[] choices ). Read each time the form opens
axleReview.blockSelectorFilterreview page | ( string selector ). Which elements count as a block in note mode. Only elements the review render marked can match
axleReview.popoverFieldsFilterreview page | ( string[] fields, config ). From name, email, note. The note is always there; email is left out on email-locked links
axleReview.inboxColumnsFilterDashboard > Notes | ( string[] columns ). Columns to show. The note column always stays
axleReview.linkCreatedActioneditor panel | ( result ) with url, link, emailed
axleReview.noteSubmittedActionreview page | ( response, element ) after a note or reply was saved
axleReview.noteAttachedInEditorActioneditor | ( { id, clientId } ) after a reviewer note was put on its block in an open editor
No hook matches that. Try a shorter word.
WP-CLI
wp axle-review link create <post> [--label=<label>] [--expires=7d] [--views=1] [--email=<email>] [--password[=<password>]] [--no-notes] [--send-to=<email>] [--porcelain]
wp axle-review link list [--post=<id>] [--status=active|used|expired|revoked] [--format=<format>]
wp axle-review link revoke <id>... [--post=<id>]
wp axle-review link activity <id> [--format=<format>]
wp axle-review link pause
wp axle-review link resume
wp axle-review notes list [--status=unresolved|resolved|all] [--post=<id>] [--mentions=<user>] [--guests] [--format=<format>]
wp axle-review notes show <id> [--format=json|yaml]
wp axle-review notes add <post> --text=<text> [--block=<path>] [--match=<text>] [--reply-to=<id>] --user=<user>
wp axle-review notes resolve <id>... --user=<user>
wp axle-review notes reopen <id>... --user=<user>
wp axle-review notes reattach <post>
wp axle-review gate check <post> [--format=<format>] # exits 1 when the gate would hold the post back
wp axle-review digest send [--user=<user>] [--frequency=hourly|daily]
wp axle-review pruneAbilities
What AI agents can do through the WordPress Abilities API and MCP, with the same permissions as the screen.
axle-review/list-notesRead-only. Notes with status (unresolved, resolved, all), post, post_type, mentions (user ID, 7.1+), guests, since, page, per_page
Who can run it: the inbox capability; rows filtered by edit_post
axle-review/get-note-threadRead-only. id: the note, replies, the block it is on (name, path, text) and the resolve/reopen history
Who can run it: edit_post on its post
axle-review/add-notepost, text, and block (a path such as 2 or 2.0) or match (text the block contains), or reply_to. mentions (user IDs) writes core mention chips on 7.1+. The note is by the current user
Who can run it: edit_post
axle-review/resolve-noteIdempotent. id
Who can run it: edit_post on its post
axle-review/reopen-noteIdempotent. id
Who can run it: edit_post on its post
axle-review/get-publish-readinessRead-only. post: open notes, and whether the gate would hold it back
Who can run it: edit_post
axle-review/list-review-linksRead-only. post, status
Who can run it: the inbox capability; rows filtered by the share capability
axle-review/create-review-linkpost, label, expires, max_views, email, allow_notes. Returns the URL once
Who can run it: the share capability on the post
axle-review/revoke-review-linkDestructive, idempotent. id
Who can run it: the share capability on the link’s post
The full reference, with the PHP API and examples, is in REFERENCE.md for version 1.0.0