WordPress Abilities API

WordPress Abilities API

5.00/5 - (17 Stimmen)
12 Min. Lesezeit
Leitfaden
500+ WP-Projekte
Full-Stack-Entwickler

Die WordPress Abilities API ist eine Registry für Operationen, die ein Plugin, ein Theme oder der Core selbst in einem einheitlichen, vorhersehbaren Format deklariert: Name, Kategorie, Eingabe- und Ausgabeschema, Berechtigungsprüfung und ausführende Funktion. Diese Seite ist eine Referenz: was die API ist, wie Sie eine Ability registrieren, welche REST-Endpunkte es gibt, wie Berechtigungen funktionieren, was die Versionen 7.0 und 7.1 ergänzt haben und wo der MCP Adapter ins Spiel kommt. Beispiele für Workflows auf Basis von Abilities finden Sie im Artikel WordPress KI-Workflows mit der Abilities API.

#Was ist die WordPress Abilities API

Die Dev Note auf make.wordpress.org definiert eine einzelne Ability so:

“Eine Ability ist eine in sich geschlossene Funktionseinheit mit definierten Eingaben, Ausgaben, Berechtigungen und Ausführungslogik.”

Jonathan Bossenger, Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Alle registrierten Abilities landen in einer zentralen Registry. Darauf greifen PHP-Code auf dem Server, der JavaScript-Client im Backend, die REST API und KI-Agenten zu, die über den MCP Adapter angebunden sind. Das Plugin beschreibt eine Operation einmal, und jeder dieser Kanäle sieht sie in derselben Form, mit demselben Schema und derselben Berechtigungsprüfung.

Die Release-Ankündigung zu 6.9 betont die Berechtigungsseite:

“Die neue Abilities API bietet ein standardisiertes, maschinenlesbares Berechtigungssystem, das die Tür für KI-gestützte und automatisierte Workflows der nächsten Generation öffnet.”

WordPress News, WordPress 6.9 “Gene”, eigene Übersetzung

Jede Ability gehört zu genau einer Kategorie:

“Jede Ability muss genau einer Kategorie angehören. Kategorien haben einen Slug, ein Label und eine Beschreibung.”

Common APIs Handbook, Abilities API, eigene Übersetzung

#Ab welcher WordPress-Version gibt es die Abilities API

Die Abilities API kam mit WordPress 6.9, erschienen am 2. Dezember 2025, in den Core. Das Handbook sagt es direkt im Hinweiskasten oben auf der Seite:

“Die Abilities API ist nur für WordPress 6.9 und höher verfügbar.”

Common APIs Handbook, Abilities API, eigene Übersetzung

Die folgenden Releases haben die API erweitert, ohne ihre Grundlagen zu ändern:

VersionDatumWas neu ist
6.9 “Gene”2. Dezember 2025Registry, Kategorien, Schemas, Berechtigungen, Endpunkte wp-abilities/v1
7.0Dev Note vom 24. März 2026JavaScript-Client: @wordpress/abilities und @wordpress/core-abilities
7.1 “Mary Lou”19. August 2026Flag meta.public, vier Filter für den Ausführungszyklus

Ein Plugin, das auch auf Installationen älter als 6.9 laufen soll, prüft vor der Registrierung, ob die Funktion existiert: Die Dev Note auf make.wordpress.org empfiehlt die Bedingung function_exists( 'wp_register_ability' ), mit der auch das Beispiel weiter unten beginnt.

Den größeren Zusammenhang von Version 7.0, einschließlich der übrigen KI-bezogenen Änderungen, beschreibt unser Leitfaden zu WordPress 7.0 und der KI-Integration.

#Ability in WordPress registrieren

Die Registrierung hat zwei Schritte: zuerst die Kategorie, dann die Ability. Jeder Schritt hat seinen eigenen Hook, und die Reihenfolge ist entscheidend.

#Kategorie für eine Ability registrieren

“Kategorien müssen vor den Abilities, die auf sie verweisen, über den Hook wp_abilities_api_categories_init registriert werden.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Eine Kategorie hat Slug, Label und Beschreibung. Das Argument category ist bei der Registrierung einer Ability Pflicht und muss auf den Slug einer Kategorie zeigen, die bereits in der Registry existiert.

#Der Hook wp_abilities_api_init

Die Ability selbst wird auf einer eigenen Action registriert. An anderer Stelle schlägt die Registrierung fehl:

“Abilities müssen am Action-Hook wp_abilities_api_init registriert werden. Der Versuch, Abilities außerhalb dieses Hooks zu registrieren, löst einen _doing_it_wrong()-Hinweis aus, und die Registrierung der Ability schlägt fehl.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

#wp_register_ability Beispiel

Die Signatur der Funktion laut Code Reference:

function wp_register_ability( string $name, array $args ): ?WP_Ability {

Quelle: Code Reference, wp_register_ability().

Bei Erfolg gibt die Funktion die registrierte WP_Ability-Instanz zurück, bei einem Fehler null. Ein minimales Beispiel: eine Kategorie und eine schreibgeschützte Ability, die die Anzahl veröffentlichter Beiträge zurückgibt.

if ( function_exists( 'wp_register_ability' ) ) {

	add_action( 'wp_abilities_api_categories_init', function () {
		wp_register_ability_category( 'moja-wtyczka', array(
			'label'       => 'Moja wtyczka',
			'description' => 'Operacje udostępniane przez Moją wtyczkę.',
		) );
	} );

	add_action( 'wp_abilities_api_init', function () {
		wp_register_ability( 'moja-wtyczka/liczba-wpisow', array(
			'label'               => 'Liczba opublikowanych wpisów',
			'description'         => 'Zwraca liczbę opublikowanych wpisów.',
			'category'            => 'moja-wtyczka',
			'output_schema'       => array( 'type' => 'integer' ),
			'permission_callback' => function () {
				return current_user_can( 'edit_posts' );
			},
			'execute_callback'    => function () {
				return (int) wp_count_posts()->publish;
			},
			'meta'                => array(
				'show_in_rest' => true,
				'annotations'  => array( 'readonly' => true ),
			),
		) );
	} );
}

Diese Ability nimmt keine Daten entgegen und hat deshalb kein input_schema. Sie gibt einen Wert zurück, also ist output_schema Pflicht.

#Name und Namespace einer Ability

“Das Format sollte namespace/ability-name sein”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Der Name besteht aus Kleinbuchstaben, Ziffern, Bindestrichen und einem Schrägstrich. Der Namespace ist meist der Slug des Plugins. Das verhindert Kollisionen zwischen Plugins, die ähnliche Operationen registrieren.

#input_schema und output_schema

Die Schemas sind keine Beigabe für die Dokumentation. Der Core validiert danach die Eingabe vor der Ausführung und die Ausgabe danach.

“Schemas zu definieren ist Pflicht, wenn ein Wert übergeben oder zurückgegeben wird.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Der Validator deckt nicht die vollständige JSON-Schema-Spezifikation ab:

“WordPress implementiert einen Validator auf Grundlage einer Teilmenge von JSON Schema Version 4.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

In der Praxis heißt das: Schemas in der Syntax von Draft 4 schreiben und mit Schlüsselwörtern außerhalb dieser Teilmenge vorsichtig sein.

Das output_schema hat noch eine zweite Funktion, die bei personenbezogenen Daten relevant wird. Es legt fest, welche Felder eine Ability überhaupt zurückgeben darf. Wer Abilities für KI-Agenten öffnet, sollte die Ausgabe auf die Felder beschränken, die der Agent für seine Aufgabe braucht, statt komplette Benutzer- oder Bestellobjekte durchzureichen. Das ist Datenminimierung im Sinne der DSGVO, umgesetzt an der Stelle, an der die Daten die Website verlassen.

#permission_callback und execute_callback

Beide Callbacks sind Pflicht. Die Code Reference beschreibt sie so:

“Erforderlich. Eine Callback-Funktion, die vor der Ausführung die Berechtigungen prüft.”

Code Reference, wp_register_ability(), eigene Übersetzung

“Erforderlich. Eine Callback-Funktion, die ausgeführt wird, wenn die Ability aufgerufen wird.”

Code Reference, wp_register_ability(), eigene Übersetzung

Der Berechtigungs-Callback sieht dieselben Daten wie der Ausführungs-Callback und kann deshalb abhängig von der konkreten Eingabe entscheiden, etwa nur das Bearbeiten eines Beitrags erlauben, dessen Autor der Benutzer ist:

“Sie erhält dieselbe Eingabe wie der Execute-Callback und muss einen Boolean oder WP_Error zurückgeben”

Code Reference, wp_register_ability(), eigene Übersetzung

Für Abilities, die personenbezogene Daten lesen oder ändern, ist genau das der Ort für die Zugriffskontrolle. Ein pauschales current_user_can( 'edit_posts' ) reicht dann oft nicht: Der Callback sollte prüfen, ob der Benutzer, in dessen Namen der Agent handelt, auf genau diesen Datensatz zugreifen darf. Ein Agent bekommt dabei nie mehr Rechte als das Konto, mit dem er sich authentifiziert. Ein eigenes Benutzerkonto mit eng gefasster Rolle für den Agenten ist deshalb sauberer als ein Administrator-Zugang.

#Fehlerbehandlung im execute_callback

Ein Fehler wird als Objekt zurückgegeben, nicht als Exception oder leeres Ergebnis:

“Abilities sollten Fehler kontrolliert behandeln, indem sie WP_Error-Objekte zurückgeben:”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

#Annotationen readonly, destructive und idempotent

Die Annotationen in meta.annotations beschreiben den Charakter einer Operation. readonly kennzeichnet eine Ability, die nichts verändert:

“Optional. Wenn true, verändert die Ability ihre Umgebung nicht.”

Code Reference, wp_register_ability(), eigene Übersetzung

Die beiden anderen Annotationen sind destructive und idempotent. Sie sind keine Dekoration: Von ihnen hängt die HTTP-Methode beim Aufruf über REST ab, und ein Client, zum Beispiel ein KI-Agent, kann daran erkennen, ob eine Operation wiederholt werden darf.

Auf dieser Website läuft unser eigener MCP-Server, beschrieben in /.well-known/mcp/server-card.json, und er stellt ausschließlich Lese-Tools bereit. Dasselbe Prinzip bewährt sich bei Abilities: Die erste Version einer Agenten-Integration besteht aus Abilities mit readonly: true, aufgerufen per GET. Schreiboperationen kommen später dazu, jede mit eigenem permission_callback.

#REST-Endpunkte der Abilities API

In WordPress 6.9 landet eine Ability nicht automatisch in der REST API. Das muss deklariert werden:

“Das ist möglich, indem man beim Registrieren einer Ability das Argument meta.show_in_rest auf true setzt.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Die Endpunkte liegen im Namespace wp-abilities/v1: Liste der Abilities, einzelne Ability und Ausführung. Der Ausführungspfad sieht so aus:

GET|POST|DELETE /wp-abilities/v1/abilities/{name}/run

Quelle: Make WordPress Core, Abilities API in WordPress 6.9.

#Authentifizierung in der Abilities API

“Der Zugriff auf alle REST-API-Endpunkte der Abilities erfordert einen authentifizierten Benutzer.”

Make WordPress Core, Abilities API in WordPress 6.9, eigene Übersetzung

Das gilt auch für die Liste der Abilities. Es funktionieren das Session-Cookie, Application Passwords oder ein eigener Authentifizierungsmechanismus. Ein anonymer Client sieht nicht einmal, welche Abilities auf der Website existieren.

#Ability per REST API aufrufen

Die HTTP-Methode für den Endpunkt run ergibt sich aus den Annotationen. Eine readonly-Ability wird per GET aufgerufen, eine Ability, die zugleich destructive und idempotent ist, per DELETE, und in allen anderen Fällen:

“Alle anderen Fälle: verwendet POST”

Jorge Costa, Make WordPress Core, Client-Side Abilities API in WordPress 7.0, eigene Übersetzung

Die REST-Dokumentation im Projekt-Repository stellt klar, dass das für schreibgeschützte Abilities eine Vorgabe ist und keine Empfehlung:

”- Schreibgeschützte Abilities müssen GET verwenden (readonly: true)”

GitHub, WordPress/abilities-api, docs/rest-api.md, eigene Übersetzung

Bei GET und DELETE steht die Eingabe nicht im Request-Body, sondern im Parameter input als URL-kodiertes JSON. Weil Query-Strings häufig in Server- und Proxy-Logs landen, gehören personenbezogene Daten nicht in die Eingabe einer readonly-Ability. Eine ID, über die der Callback den Datensatz selbst lädt, ist die bessere Wahl.

#Abilities API in JavaScript

WordPress 7.0 hat einen browserseitigen Client in zwei Paketen ergänzt. @wordpress/abilities ist der eigentliche Store für Abilities, @wordpress/core-abilities lädt die auf dem Server registrierten Abilities über REST:

“Dadurch werden sowohl @wordpress/core-abilities als auch dessen Abhängigkeit @wordpress/abilities geladen, und alle serverseitigen Abilities werden automatisch abgerufen und registriert.”

Jorge Costa, Make WordPress Core, Client-Side Abilities API in WordPress 7.0, eigene Übersetzung

Fehler im JS-Client haben feste Codes. Eine fehlgeschlagene Validierung liefert ability_invalid_input oder ability_invalid_output, eine verweigerte Berechtigung:

“Wenn der Permission-Callback false zurückgibt, wird ein Fehler mit dem Code ability_permission_denied ausgelöst.”

Jorge Costa, Make WordPress Core, Client-Side Abilities API in WordPress 7.0, eigene Übersetzung

#Abilities API in WordPress 7.1

Die Release-Ankündigung zu 7.1 fasst die Änderungen in einem Satz zusammen:

“Die Abilities API baut auf der in WordPress 6.9 eingeführten Infrastruktur auf, mit einem filterbaren Ausführungslebenszyklus, eigener Validierung und gemeinsamer Erkennung.”

WordPress News, WordPress 7.1 “Mary Lou”, eigene Übersetzung

#Das public-Flag in der Abilities API

WordPress 7.1 hat meta.public eingeführt, ein gemeinsames Freigabe-Flag für Clients. Es befüllt show_in_rest, ein explizit gesetztes show_in_rest hat aber Vorrang, und der Standardwert bleibt false:

$show_in_rest = $meta['show_in_rest'] ?? $meta['public'] ?? false;

Quelle: Milana Cap, Make WordPress Core, A unified public exposure flag for Abilities in WordPress 7.1.

Das Flag regelt die Sichtbarkeit, nicht den Zugriff:

“Das Flag public steuert die Auffindbarkeit und die Freigabe für Clients.”

Milana Cap, Make WordPress Core, A unified public exposure flag for Abilities in WordPress 7.1, eigene Übersetzung

Auch eine als öffentlich markierte Ability durchläuft weiterhin den permission_callback. Das Flag public ersetzt ihn nicht.

#Filter für den Ausführungszyklus einer Ability

“Die Abilities API stellte bisher die Actions wp_before_execute_ability und wp_after_execute_ability bereit.”

Make WordPress Core, New execution lifecycle filters for the Abilities API in WordPress 7.1, eigene Übersetzung

Zu diesen beiden Actions aus 6.9 hat Version 7.1 vier Filter hinzugefügt:

FilterAusführungsphase
wp_pre_execute_abilityvor der Ausführung
wp_ability_normalize_inputNormalisierung der Eingabe
wp_ability_permission_resultErgebnis der Berechtigungsprüfung
wp_ability_execute_resultErgebnis der Ausführung

Mit den Actions ließ sich die Ausführung nur beobachten. Mit den Filtern lässt sie sich beeinflussen, etwa um die Eingabe zu normalisieren oder das Ergebnis der Berechtigungsprüfung zu ändern. Über wp_ability_execute_result kann ein Plugin zum Beispiel Felder aus dem Ergebnis entfernen, bevor es an einen Client geht, ohne die Ability selbst anzufassen.

#Abilities API und MCP Adapter

Die Abilities API enthält keinen Server für das Model Context Protocol. Diese Rolle übernimmt ein separates Paket:

“Das offizielle WordPress-Paket für die MCP-Integration, das WordPress-Abilities als Tools, Ressourcen und Prompts des Model Context Protocol (MCP) für KI-Agenten bereitstellt.”

GitHub, WordPress/mcp-adapter, README, eigene Übersetzung

Die Standardeinstellung ist zurückhaltend:

“WordPress-Abilities sind standardmäßig privat.”

GitHub, WordPress/mcp-adapter, README, eigene Übersetzung

Damit ein MCP-Client eine Ability sieht, muss meta.public (oder meta.mcp.public) auf true stehen. Der Standardserver des Adapters stellt drei Meta-Tools bereit, über die ein Agent Abilities entdeckt und aufruft. Die Verbindung:

“Verbinden Sie sich per WP-CLI über STDIO, oder richten Sie einen HTTP-Client auf /wp-json/mcp/mcp-adapter-default-server.”

GitHub, WordPress/mcp-adapter, README, eigene Übersetzung

STDIO über WP-CLI passt zur lokalen Entwicklung und zum Staging, HTTP zu einem Agenten, der außerhalb des Servers läuft. In beiden Fällen entscheiden dieselben permission_callback und Annotationen darüber, was der Agent tun darf. Läuft der Agent bei einem externen KI-Anbieter, verlassen die Ergebnisse der Abilities die eigene Infrastruktur. Welche Abilities Sie öffentlich schalten, ist deshalb auch eine Frage für Ihr Verzeichnis von Verarbeitungstätigkeiten, nicht nur für die Entwicklung.

Ausführlicher beschreiben wir die Anbindung von WordPress an KI-Agenten über MCP im Leitfaden MCP- und KI-Integration. Wenn Sie einen eigenen MCP-Server oder ein Set von Abilities für einen konkreten Shop oder eine Website brauchen, finden Sie das auf der Seite MCP-Server-Entwicklung für WordPress.

#Prüfen, ob WordPress die Abilities API unterstützt

Am einfachsten im Code: function_exists( 'wp_register_ability' ) gibt ab Version 6.9 true zurück. Von außen genügt mit einem Konto und Application Password eine Abfrage des Namespace wp-abilities/v1 in der REST API der Website. Fehlt er, läuft die Website auf einer Version vor 6.9, oder etwas blockiert die REST API. Die Liste enthält nur Abilities mit show_in_rest oder public auf true. Eine leere Liste bedeutet also nicht, dass Plugins keine Abilities registrieren.

Letzte Prüfung der Quellen: 6. Oktober 2026.

Relevanter Cluster

Weitere WordPress-Dienste und Wissensbasis entdecken

Stärken Sie Ihr Unternehmen mit professionellem technischen Support in den Kernbereichen des WordPress-Ökosystems.

Empfehlungen von LinkedIn

Empfehlungen und Erfahrungen mit WPPoland

Ausgewählte Empfehlungen von Branchenführern aus WordPress, WordCamp und E-Commerce - mit Fokus auf Termintreue, technische Tiefe und unternehmerischen Umgang mit WordPress.

Karolina Czapla

Karolina Czapla

Marketingstrategin, Performance & Digital Strategy

“Die Zusammenarbeit mit Mariusz beim WordCamp hat mir gezeigt, wie selten sich tiefes technisches Wissen mit echter Leadership verbindet. Er plant, koordiniert und liefert mit Präzision, während er dem Team Raum zur Entfa...”

Mitorganisatorin, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Mariusz' Portfolio spricht für sich. Es zeigt Präzision, Vielseitigkeit und ein starkes Verantwortungsbewusstsein. Man kann ihm vertrauen, ein Projekt von der Idee bis zur Auslieferung zu führen und dabei alle Beteiligte...”

Wir haben im selben Team gearbeitet

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT‑Projektmanagement & Product Owner, Web/App

“Über mehr als zwei Jahre konnte ich mich bei WordPress‑Aufgaben immer auf Mariusz verlassen, vom Styling und Templating bis zu Integrationen. Er bringt Ruhe ins Team und sorgt dafür, dass das Frontend unter Kontrolle ble...”

Mariusz war ihr Kunde bei WordPress‑Projekten

Argert Boja

Argert Boja

Senior Full‑Stack Entwickler

“Mariusz ist der Teamkollege, den sich jeder wünscht: starke Full‑Stack‑WordPress‑Skills, klare Erklärungen technischer Entscheidungen und eine positive Haltung auch unter Druck. Er wechselt mühelos zwischen Plugins, Perf...”

Wir arbeiteten gemeinsam an WordPress‑Projekten

Varun Patil

Varun Patil

Growth‑ & CRM‑Leiter

“Neben der Entwicklung versteht Mariusz SEO, Analytics und Growth. Er spricht direkt mit Stakeholdern, stellt die richtigen Fragen und liefert Lösungen, die Business‑Kennzahlen bewegen, von AMP über Tracking bis Performan...”

War Mariusz' Vorgesetzter bei Growth‑Initiativen

Rafał Osiński

Rafał Osiński

Gründer @ EasyTrips.pl, Senior WordPress Dev

“Ich kenne Mariusz seit vielen Jahren aus der WordPress‑Community. Er ist zuverlässig, hoch engagiert und einfach immer da, auf Meetups, WordCamps und in Projekten. Wenn Ihnen langfristige Zusammenarbeit wichtig ist und j...”

Mitorganisator von WordUp Trójmiasto & WordCamps

Daniel Blossfeld

Daniel Blossfeld

Berater für Prozessoptimierung & Digitalisierung

“Ich hatte das Vergnügen, fast drei Jahre lang mit Mariusz zusammenzuarbeiten. In dieser Zeit erwiesen sich seine WordPress-Entwicklungsfähigkeiten bei einer Reihe von Projekten, von Website-Erstellungen über Online-Mitgl...”

Mariusz war sein Kunde bei WordPress‑Projekten

Natalie Wiszczor

Natalie Wiszczor

CRM & E-Mail Marketing Managerin

“Ich hatte das große Vergnügen, über 4 Jahre mit Mariusz im technischen Bereich zusammenzuarbeiten. In dieser Zeit erwies er sich als kompetenter und zuverlässiger Kollege. Besonders hervorzuheben war seine freundliche Ar...”

Arbeitete mit Mariusz in verschiedenen Teams

Mark Chalklen

Mark Chalklen

Head of Design & Build bei Itineris Limited

“Mariusz ist ein großartiges Teammitglied, immer bereit, sich in jede Aufgabe zu stürzen und Neues zu lernen. Ein großartiger Kommunikator und rundum netter Kerl, mit dem man zusammenarbeiten kann. Schwer zu schlagen in u...”

Führte Mariusz direkt

Jessica Di Pasquale

Jessica Di Pasquale

Leitung von SEO-Initiativen mit datengesteuerten Wachstumsstrategien.

“Mariusz ist ein sehr geschickter, geduldiger und erfahrener Typ. Immer bereit zu helfen und Fehler zu beheben, ich habe die Zusammenarbeit mit ihm sehr geschätzt. Er ist so ein großartiger Kollege!”

Führte Mariusz direkt

Biki John

Biki John

Content Marketing Liebhaber & SEO Enthusiast

“Es war großartig, mit Mariusz zusammenzuarbeiten. Ich schätzte sein umfangreiches Wissen über WordPress sehr und wie nützlich es war, wann immer ich Unterstützung bei der Navigation im CMS benötigte. Ich lobe Mariusz une...”

Arbeitete mit Mariusz in verschiedenen Teams

Rafal Borowiec

Rafal Borowiec

Softwareentwickler, Berater, Manager und Dozent

“Ich hatte die Gelegenheit, 7 Monate lang mit Mariusz zusammenzuarbeiten. Er zeichnet sich durch technische Optimierung für Suchmaschinen (SEO) aus. Mariusz verfügt auch über starke Expertise in der AMP-Entwicklung, GTM u...”

Führte Mariusz direkt

Belinda Koch

Belinda Koch

Web-Tracking Analystin bei TUI

“Mariusz ist eine großartige Person, mit der man zusammenarbeiten kann. Er ist äußerst motiviert, neue Dinge zu lernen und sein Wissen zu teilen, und ist sehr versiert in einer Vielzahl von Themen. Wir haben zusammen an d...”

Arbeitete mit Mariusz an digitalen Analyse- und Tracking-Themen

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Analytisches Denken, AMP

“Mariusz ist eine extrem talentierte Person in seinem Arbeitsbereich. Er ist immer fähig, eine neue Perspektive zur Problemlösung zu geben und über den Tellerrand zu schauen in Situationen, wo alles blockiert scheint. Mit...”

Arbeitete mit Mariusz im selben Team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript-Entwickler

“Mariusz ist ein unglaublich erfahrener WordPress-Entwickler und SEO/SEM-Spezialist, mit dem ich fast zwei Jahre zusammenarbeiten durfte. Er war einer der Schlüsselfiguren für die ständige Verbesserung der Ladezeit und de...”

Arbeitete mit Mariusz im selben Team

Paweł Lewczuk

Paweł Lewczuk

Front-end-Entwickler, WordPress-Entwickler

“Ich habe mit Mariusz an mehreren Projekten zusammengearbeitet und unsere Zusammenarbeit verlief immer vorbildlich. Ich glaube, dass noch viele gemeinsame Projekte vor uns liegen. Sehr empfehlenswert!”

Mariusz war Pawels Kunde

Przemek Wroblewski

Przemek Wroblewski

Softwareentwickler mit über 20 Jahren Erfahrung

“Ich fand Mariusz als jemanden mit großer Expertise und tiefgreifendem Wissen über Frontend-Lösungen. Ein starker, kompetenter und verantwortungsvoller WordPress-Entwickler. Er hat die Fähigkeit, zwischenmenschliche Bezie...”

Arbeitete mit Mariusz in verschiedenen Teams

Was ist die Abilities API in WordPress?#
Eine Registry für Funktionen, die ein Plugin, ein Theme oder der Core in standardisierter Form bereitstellt. Jede Ability hat einen Namen mit Namespace, eine Kategorie, ein Eingabe- und Ausgabeschema, einen Berechtigungs-Callback und einen Ausführungs-Callback. So sehen PHP, JavaScript, die REST API und KI-Agenten über den MCP Adapter dieselben Operationen in derselben Form.
Ab welcher WordPress-Version gibt es die Abilities API?#
Ab WordPress 6.9, erschienen am 2. Dezember 2025. WordPress 7.0 hat einen JavaScript-Client ergänzt, WordPress 7.1 das public-Flag und Filter für den Ausführungszyklus. Ein Plugin, das auch auf älteren Installationen laufen soll, umschließt die Registrierung mit der Bedingung function_exists( 'wp_register_ability' ).
Ist eine Ability automatisch über die REST API erreichbar?#
Nein. In WordPress 6.9 muss meta.show_in_rest auf true gesetzt werden. Ab 7.1 lässt sich auch meta.public setzen, das show_in_rest befüllt, sofern show_in_rest nicht explizit angegeben ist. Standardmäßig sind beide Werte deaktiviert, und jeder Aufruf eines wp-abilities/v1-Endpunkts erfordert einen angemeldeten Benutzer.
Wie ruft man eine Ability über die REST API auf?#
Über den Endpunkt /wp-abilities/v1/abilities/{name}/run. Die HTTP-Methode ergibt sich aus den Annotationen: Eine readonly-Ability wird per GET aufgerufen, eine Ability, die zugleich destructive und idempotent ist, per DELETE, alle anderen per POST. Bei GET und DELETE wird die Eingabe im Parameter input als URL-kodiertes JSON übergeben.
Ist die Abilities API dasselbe wie MCP?#
Nein. Die Abilities API ist eine Registry im WordPress-Core. Das Model Context Protocol bedient das separate, offizielle Paket MCP Adapter, das Abilities als MCP-Tools, -Ressourcen und -Prompts bereitstellt. Abilities sind dort standardmäßig privat und müssen ausdrücklich als öffentlich markiert werden.

Sie brauchen ein FAQ für Branche und Zielmarkt? Wir erstellen eine Version passend zu Ihren Business-Zielen.

Kontakt aufnehmen

Ähnliche Artikel