The WordPress Abilities API provides a standardized way to register and discover distinct units of functionality within a WordPress site. These units, called “Abilities”, represent specific actions or capabilities that components can perform, with clearly defined inputs, outputs, and permissions.
It acts as a central registry, making it easier for different parts of WordPress, third-party plugins, themes, and external systems (like AI agents) to understand and interact with the capabilities available on a specific site.
Core Concepts
- Ability: A distinct piece of functionality with a unique name following the
namespace/ability-namepattern. Each ability has a human-readable name and description, input/output definitions (using JSON Schema), a category assignment, optional permissions, and an associated callback function for execution. Each registered Ability is an instance of theWP_Abilityclass. - Category: A way to organize related abilities. Each ability must belong to exactly one category. Categories have a slug, label, and description. Each registered category is an instance of the
WP_Ability_Categoryclass. - Registry: A central, singleton object (
WP_Abilities_Registry) that holds all registered abilities. It provides methods for registering, unregistering, finding, and querying abilities. Similarly,WP_Abilities_Category_Registrymanages all registered categories. - Callback: The PHP function or method executed when an ability is called via
WP_Ability::execute(). - Schema: JSON Schema definitions for an ability’s expected input (
input_schema) and its returned output (output_schema). This allows for validation and helps agents understand how to use the ability. - Permission Callback: An optional function that determines if the current user can execute a specific ability.
- Namespace: The first part of an ability name (before the slash), typically matching the plugin or component name that registers the ability.
Important Resources
- https://developer.wordpress.org/apis/abilities-api/
- https://developer.wordpress.org/news/2025/11/introducing-the-wordpress-abilities-api/