Meet Abilities, WordPress’ New Functional Core

The Abilities APIAbilities API A core WordPress API (introduced in 6.9) that creates a central registry of capabilities, making WordPress functions discoverable and accessible to AI agents, automation tools, and developers. Transforms WordPress from isolated functions into a unified system., soon to be available in WordPress 6.9, aims to transform the way developers interact with WordPress and integrate with other themes and plugins. Imagine a WordPress where every pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party’s unique capabilities are not just accessible, but genuinely discoverable and seamlessly integrated across the entire ecosystem.

While the Abilities API was conceived and developed by the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. AI team, it’s not actually specific to AI. It’s going to be utilized within AI, but its application is even broader. A “primitive” in programming is a fundamental unit in a language or framework. Abilities introduce a new functional primitive to WordPress, the need for which was hiding in plain sight.

Why WordPress needed Abilities

Have you ever noticed that integrating with one plugin and then another can be a completely different experience? Or the challenge of taking a feature and making it available in various WordPress contexts (e.g. WP CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress., REST)? We often end up reinventing the same functionality over and over in various contexts.

Think about such popular plugins as Yoast SEO, Woo, The Events Calendar, Gravity Forms, and so many others. What is something they all have in common? Public APIs. That is, ways for other plugins, agencies, freelancers, and whoever to interact programmatically with the plugins. Perhaps you want to display a form, create a new form, or add a new product within code? All of these plugins provide ways of doing that.

But how do the plugins do it? Is there a common method? Is there a way of discovering what you can do with each plugin? No, not really. The REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. sort of does this, but is limited to how it’s accessed. In reality, every plugin is responsible for determining how it builds and communicates a public APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. Some go a simple route with global functions, others use Object-Oriented Programming, and still others get even more creative. The discovery of these Public APIs is then left to each plugin to document, which is hard for anyone, and especially difficult for smaller teams.

Then how about the ways these APIs are accessible? There’s the REST API, the new Command Palette, the upcoming MCP Adapter, and so forth. How does a plugin connect their APIs to each of these? Well, manually. Each system of presenting functions comes with its own means of integration that plugin authors need to learn and work with.

These challenges highlight a clear need for a more unified and discoverable approach to plugin functionality, which is precisely where Abilities come in.

What Abilities make possible

This is exactly what Abilities are for — they provide a standardized and discoverable way for plugins to expose their functionalities, significantly streamlining development and integration within the WordPress ecosystem. Abilities provide a way for plugins to:

  • Provide other developers with a discoverable Public API that’s self-documenting with what the AbilityAbility A registered, self-documenting unit of WordPress functionality that can be discovered and invoked through multiple contexts (REST API, Command Palette, MCP). Includes authorization and input/output specifications. needs for input and what it returns as output
  • Easily adapt these Abilities to multiple present and upcoming contexts such as REST, the Command Palette, the MCP AdapterMCP Adapter Translates WordPress abilities into Model Context Protocol format, allowing AI assistants like Claude and ChatGPT to discover and invoke WordPress capabilities as tools, resources, and prompts., etc. This includes providing extra hints to indicate how it works (e.g. is destructive, is read only, and so forth)
  • Include authorization to keep the use of the Ability safe and secure
  • Integrate Abilities from other plugins into their own, creative ideas

The effect of Abilities is cumulative. The more plugins that use Abilities, the more powerful WordPress becomes. Developers are able to safely and quickly integrate AI models via MCP, become more capable for the end-user, and so forth. The cumulative effect of this will improve the reliability and contextualization of features within WordPress.

Start using Abilities today

Hopefully, this clarifies the immense potential of Abilities and how they’re a key to unlocking the next chapter of WordPress. It’s one of those things that makes so much sense once you think about it.

Here’s what you can begin doing now to start taking advantage of Abilities:

  1. Share your feedback
  2. Download WordPress 6.9 Release Candidate 2
  3. Experiment with Abilities: Explore the Abilities included in the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., register your own, execute them manually, and try them out in different contexts.