| 开发者 | sanzeeb3 |
|---|---|
| 更新时间 | 2026年10月27日 17:24 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_insert_post(), wp_update_post(), wp_set_object_terms() and so on), so hooks, caches, revisions and other plugins behave exactly as they do in the admin./wp-json/wp-abilities/v1/) and, when the MCP Adapter plugin is active, as MCP tools.seeb-abilities/ namespace and are grouped into categories.
Content (posts, pages and public custom post types)
posts-query: find posts by type, status, author, search term, taxonomy term or datepost-get: get a post with its content, terms and featured imagepost-create: create a post, page or custom post type itempost-update: update title, content, excerpt, status, slug, author, date or featured imagepost-delete: move a post to the trash, or delete it permanently with forcepost-revisions: list the revisions of a post, pattern, navigation menu or customized templaterevision-restore: restore any of these to an earlier revisionpost-restore: restore a post from the trashpost-duplicate: copy a post, with its terms, featured image and the custom fields you're allowed to edit, as a new draftpost-meta-get: read a post's custom fields registered with register_post_meta()post-meta-update: update a post's registered custom fieldscontent-search: search across all public post types at onceposts-bulk-update: change the status, author, comments, stickiness or terms of up to 100 posts at oncecontent-replace: find and replace text across the site (for example an old phone number or domain), as a dry run firstrevision-diff: see what changed between two revisionspage-tree-get: get all pages as a nested tree of parents and childrenpost-lock-check: check whether someone else is editing a post right nowtrash-empty: permanently delete trashed items, optionally only those trashed a while agoterms-query: find categories, tags or custom taxonomy termsterm-create: create a termterm-update: rename a term or change its slug, description or parentpost-set-terms: set or append a post's termsterm-delete: delete a termterms-merge: merge duplicate terms into one, moving their postsblock-types-list: list the registered blocks, with their category, title and descriptionblock-type-get: get one block's attributes, supports, styles and variations, so an agent can write valid block markuppost-blocks-get: get a post's content as a tree of blocks, each with its path (for example 2.0 for the first block inside the third)block-insert: insert one or more blocks at a path, or before or after a blockblock-update: change a block's attributes or inner content without touching the rest of the postblock-move: move a block to another positionblock-duplicate: copy a block, with its inner blocks, right after itembed-check: check whether a YouTube, Vimeo, Spotify or other URL can be embedded, and get the embed block markupblock-remove: remove a block and its inner blocksblocks-replace: replace every block of one type, or with a given attribute value, across a post (for example turn all core/quote blocks into core/pullquote)blocks-validate: check block markup before saving and report unknown blocks, invalid attributes and broken nestingblock-usage-find: find the posts, pages, templates and patterns that use a block typepatterns-list: list registered and synced patterns, with their categoriespattern-insert: insert a pattern into a post, either as a synced reference or as a copy of its blockspattern-create: save blocks as a new synced or unsynced patternpattern-update: update a synced pattern, which changes it everywhere it is usedpattern-delete: move a pattern to the trash, or delete it permanentlyrevision-restore. The first change to a theme template creates a customized copy, which template-reset removes again.
Site editor (block themes)
templates-list: list templates and template parts, and whether they are customizedtemplate-get: get a template or template part as blockstemplate-update: edit a template or template part with the same block abilities as poststemplate-reset: remove customizations and go back to the theme's versionglobal-styles-get: read the site's global styles: colors, typography and spacing presets, so new blocks match the themeglobal-styles-update: change the palette, fonts, link colors or block styles, with a revision to undo itcustom-css-get: read the Additional CSS (block and classic themes)custom-css-update: replace or add to the Additional CSS, with a revision to undo itmenus-list: list menus and their locationsmenu-items-query: list the items of a menumenu-item-add: add a page, post, term or custom link to a menumenu-item-update: change a menu item's label, URL, parent, position or link targetmenu-item-delete: remove a menu itemmenu-create: create a menumenu-delete: delete a menumenu-location-assign: show a menu in a theme location, such as the header or footermedia-query: find media library itemsmedia-sideload: import an image or file from a URL into the media librarymedia-update: update alt text, caption, title or descriptionmedia-get: get a media item with its file size and image sizesmedia-delete: delete a media itemmedia-thumbnails-regenerate: generate the image sizes again, e.g. after switching themescomments-query: find comments by post, status or authorcomment-moderate: approve, unapprove, mark as spam or trash a commentcomment-reply: reply to a comment as the current usercomment-create: add a new comment to a post as the current usercomment-update: edit a comment's text or author detailscomments-bulk-moderate: approve, spam or trash up to 100 comments at oncecomments-empty: empty the spam folder or the comment trashcomment-blocklist-update: add or remove words, emails and IP addresses on the disallowed and moderation listsusers-query: list users with their roles (read-only, requires the list_users capability, never returns passwords)current-user-get: get the connected user's role and capabilities, so an agent knows what it is allowed to douser-get: get a user's profileuser-create: create a user, who gets an email to set their own password (passwords are never returned)user-update: change a user's name, email, bio or role (only roles you are allowed to assign, and never your own)user-password-reset-send: email a user a password reset linkuser-delete: delete a user and give their content to another user (refuses to delete content unless asked to)user-sessions-destroy: log a user out of all browsers and devicesroles-list: list roles with their number of users and capabilitiesprivacy-requests-list: list personal data export and erasure requestsprivacy-request-create: add a personal data export or erasure requestsettings-get: read general and reading settingssettings-update: change site title, tagline, timezone, date format and other allowlisted settingsplugins-list: list installed plugins and whether they are activepost-types-list: list registered post types and taxonomiessite-health-get: get the Site Health status and the tests that need attentioncron-events-list: list scheduled (cron) events and when they run nextthemes-list: list installed themes and which one is activeupdates-get: list available WordPress, plugin, theme and translation updates (nothing is installed)permalinks-flush: regenerate the permalinks to fix "page not found" errorscache-flush: clear the object cache and the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache or SiteGround Speed Optimizerdebug-log-get: read the last lines of the PHP error logsite-identity-update: set the site logo and site iconcontent-analyze: word count, reading time, heading outline and problems, links and images without alt text of a postinternal-links-check: find links to drafts, trashed posts, missing uploads and pages that return "not found"images-missing-alt-find: find media library images without alt textcontent-counts-get: overview of posts, comments, media and users by status, type and rolestale-content-find: find published content that hasn't been updated for a long timeunused-terms-find: find categories and tags that aren't assigned to any postforce: true and is marked as destructive._) cannot be written.seeb_abilities_ability_args to change an ability's arguments before it is registered.seeb_abilities_enabled to enable or disable abilities in code.seeb_abilities_allowed_settings to change which settings settings-get and settings-update can access.seeb-abilities folder to /wp-content/plugins/.No and yes. The abilities are registered with the WordPress Abilities API and can be used through its REST endpoints or from PHP. To use them from AI assistants and MCP clients, we recommend the free MCP Adapter plugin.
An agent can do only what the connected user's role allows, and only through the listed abilities. It cannot run code, change arbitrary options or manage plugins. Deleting content moves it to the trash by default. For extra safety, connect with an Editor or Author account and turn off the categories you don't need.
The plugin makes no external requests of its own, with these exceptions: media-sideload downloads the file from the URL given in the request, embed-check asks the provider of the URL (for example YouTube) for its embed details, as the block editor does, updates-get with refresh checks WordPress.org for updates as the Updates screen does, and internal-links-check requests pages of your own site to find the ones that return "not found". user-create, user-password-reset-send and privacy-request-create send emails through your site, as the admin screens do.
When the plugin is activated, it asks whether you want to opt in to email notifications about security and feature updates, educational content and occasional offers, through Freemius. Only if you click "Allow & Continue", your name, email address, site URL, WordPress and PHP versions and the list of plugins and themes are sent to Freemius. If you click "Skip", nothing is sent and the plugin works the same. When you deactivate the plugin, you can optionally tell us why; that answer is only sent if you submit it. See the Freemius privacy policy and terms of service.
Yes, if they are registered with show_in_rest set to true. Custom post types are subject to their own capabilities.
The Abilities API was added to core in WordPress 6.9 (see the Abilities API announcement). On older versions the plugin does nothing.