WordPress har alltid vært utvidbart. Hooks, filtre, REST API og GraphQL gå utviklere mange lag med programmatisk tilgang. Men ingen av disse systemene ble designet for en verden der AI-agenter trenger å oppdage, forstå og bruke WordPress-funksjonalitet autonomt. Den kommende Abilities API i WordPress 7.x endrer dette fundamentalt.
Abilities API introduserer en standardisert måte for plugins og temaer å deklarere hva de kan gjøre - ikke bare hvilke data de eksponerer, men hvilke handlinger de utfører og hvilke intensjoner de oppfyller. Når en AI-agent kobler seg til et WordPress-nettsted, leser den et maskinlesbart manifest over abilities og kan kalle dem med korrekt autentisering og tilgangsavgrensning. Dette er fundamentet for virkelig intelligente WordPress-arbeidsflyter.
Hva er WordPress Abilities API?
Problemet med nåværende tilnærminger
WordPress REST API er kraftig, men ressursorientert. Det eksponerer endepunkter som /wp/v2/posts og /wc/v3/products - CRUD-operasjoner på dataobjekter. En AI-agent kan bruke disse endepunktene, men den må være forhåndsprogrammert til å vite hva hvert endepunkt gjør, hvilke parametere det aksepterer og hvordan flere kall skal kjedes sammen.
WPGraphQL forbedrer dette med fleksible spørringer, men deler den samme grunnleggende begrensningen: det beskriver data, ikke evner.
Vurder dette scenariet: du vil at en AI-agent skal «skrive et blogginnlegg om vårens hagearbeid, optimalisere det for SEO, legge til et utvalgt bilde og planlegge publisering til neste tirsdag.» Med REST API må agenten:
- Kjenne
/wp/v2/posts-endepunktet og dets parametere - Vite at SEO-data ligger i et metafelt kontrollert av Yoast eller RankMath
- Vite hvordan media lastes opp via
/wp/v2/media - Kjenne datoformatet for planlegging
- Kjede disse kallene i riktig rekkefølge
Med Abilities API leser agenten manifestet og oppdager abilities som create_content, optimize_seo, attach_media og schedule_publication. Hver ability deklarerer sine inputs, outputs og avhengigheter. Agenten kan resonnere om dem og komponere arbeidsflyter uten hardkodet kunnskap om endepunkt-URLer.
Arkitekturoversikt
Abilities API legger til tre lag oppå den eksisterende WordPress-infrastrukturen:
1. Ability-registrering
Plugins og temaer registrerer abilities gjennom en deklarativ API:
register_ability( 'min-plugin/generer-rapport', [
'title' => 'Generer analyserapport',
'description' => 'Oppretter en PDF-analyserapport for en angitt tidsperiode',
'category' => 'analytics',
'input_schema' => [
'type' => 'object',
'properties' => [
'start_date' => ['type' => 'string', 'format' => 'date'],
'end_date' => ['type' => 'string', 'format' => 'date'],
'metrics' => ['type' => 'array', 'items' => ['type' => 'string']],
],
'required' => ['start_date', 'end_date'],
],
'output_schema' => [
'type' => 'object',
'properties' => [
'report_url' => ['type' => 'string', 'format' => 'uri'],
'summary' => ['type' => 'string'],
],
],
'capability' => 'view_analytics',
'rate_limit' => '10/hour',
'callback' => 'min_plugin_generer_rapport',
]);
2. Manifestendepunkt
APIet eksponerer et oppdagelsesendepunkt på /wp-json/abilities/v1/manifest som returnerer et JSON-dokument med alle registrerte abilities, deres skjemaer, autentiseringskrav og hastighetsbegrensninger. AI-agenter leser dette manifestet for å forstå hva WordPress-nettstedet kan gjøre.
3. Kallingslaget
Abilities kalles gjennom /wp-json/abilities/v1/invoke/{ability-slug} med JSON-input som samsvarer med det deklarerte skjemaet. Laget håndterer validering, tillatelsessjekker, hastighetsbegrensning og revisjonslogging før det viderekobler til ability-callbacken.
Hvordan Abilities API muliggjør AI-agentintegrasjon
Model Context Protocol (MCP)-forbindelsen
Anthropics Model Context Protocol (MCP) definerer hvordan AI-agenter oppdager og bruker eksterne verktøy. Abilities API-manifestet mapper direkte til MCPs verktøydefinisjonsfromat. Et WordPress-nettsted med Abilities API blir en MCP-server som enhver MCP-kompatibel agent kan koble seg til.
Flyten fungerer slik:
- AI-agent mottar en brukerforespørsel: «Oppdater alle produktbeskrivelser med bærekraftsmeldinger»
- Agent kobler seg til WordPress MCP-endepunktet
- Agent leser abilities-manifestet og oppdager
update_product,generate_contentogbatch_operation - Agent komponerer en arbeidsflyt: hent produkter → generer oppdaterte beskrivelser → anvend masseoppdatering
- Agent utfører arbeidsflyten med korrekt autentisering
- Hvert trinn logges i WordPress-revisjonssporet
OpenAI-pluginkompatibilitet
Manifestendepunktet kan også generere OpenAI-kompatible plugin-spesifikasjoner. Dette betyr at et WordPress-nettsted kan fungere som en ChatGPT-plugin, slik at brukere kan samhandle med WordPress-nettstedet sitt gjennom naturlig språk i ChatGPT.
Generell Tool-Use-støtte
For AI-systemer som bruker generisk funksjonskallig (som Claudes tool use), leverer manifestet JSON Schema-definisjoner som mapper direkte til verktøyparametere. Enhver AI-agent som støtter strukturert verktøykalling kan konsumere WordPress abilities.
Praktiske bruksområder
Arbeidsflyter for innholdsoppretting
Det mest umiddelbare bruksområdet er intelligent innholdsoppretting. I stedet for at en AI genererer rå tekst som et menneske limer inn i WordPress, håndterer AI-agenten hele arbeidsflyten:
Bruker: "Lag en omfattende guide om biologisk skadedyrbekjempelse for hagebloggen vår"
AI-agentarbeidsflyt:
1. invoke: research_topics → finner trendende undertemaer og konkurransehuller
2. invoke: generate_content → lager 3000-ords artikkel med overskrifter og bildereferanser
3. invoke: optimize_seo → legger til metabeskrivelse, fokusnøkkelord, interne lenker
4. invoke: generate_featured_image → oppretter AI-generert hero-bilde
5. invoke: create_draft → lagrer som utkast med alle metadata
6. invoke: notify_editor → sender gjennomgangsvarsel til redaksjonen
Hver ability leveres av en annen plugin - SEO av RankMath, bildegenerering av en AI-medieplugin, varsler av en arbeidsflytplugin. AI-agenten orkestrerer dem gjennom den enhetlige Abilities API.
WooCommerce-butikkadministrasjon
For e-handelssider kan AI-agenter administrere hele driften:
- Lagerstyring: overvåke lagernivåer, generere bestillingsforslag, oppdatere mengder
- Prisoptimalisering: analysere konkurrentpriser, foreslå justeringer, anvende masseendringer
- Produktbeskrivelser: generere og oppdatere beskrivelser basert på produktattributter og SEO-mål
- Kundeservice: behandle refusjoner, oppdatere ordrestatus, generere fraktetiketter
- Salgsanalyse: generere rapporter, identifisere trender, foreslå kampanjer
En butikkeier kunne si «Gjennomgå produkter som ikke er solgt på 90 dager og foreslå om de bør rabatteres, bundles eller avvikles» - og AI-agenten ville bruke WooCommerce-abilities til å hente salgsdata, analysere dem og presentere handlingsdyktige anbefalinger.
SEO-automatisering
SEO-oppgaver som tidligere krevde manuelt arbeid eller separate verktøy, blir abilities som AI-agenter komponerer:
analyze_page_seo- returnerer SEO-poengsum, manglende metatagger, nøkkelordtetthetsuggest_internal_links- finner relatert innhold for krysslenkingcheck_broken_links- skanner etter 404-er og foreslår erstatningergenerate_schema_markup- oppretter JSON-LD strukturerte dataoptimize_images- komprimerer og legger til alt-tekst på bilderaudit_content_freshness- markerer utdatert innhold for gjennomgang
En AI-agent kan kjøre en komplett SEO-revisjon ved å kalle disse abilities sekvensielt, deretter generere en prioritert handlingsplan eller til og med utføre rettelsene direkte.
Implementere egendefinerte Abilities i pluginen din
Grunnleggende Ability-registrering
Hver ability trenger fire komponenter: en unik slug, metadata, et input/output-skjema og en callback-funksjon.
<?php
declare(strict_types=1);
add_action('abilities_init', function () {
register_ability('wppoland/nettsted-helsesjekk', [
'title' => 'Kjør nettsted-helsesjekk',
'description' => 'Utfører en omfattende WordPress-nettstedhelseanalyse og returnerer poengsatte resultater',
'category' => 'maintenance',
'input_schema' => [
'type' => 'object',
'properties' => [
'checks' => [
'type' => 'array',
'items' => [
'type' => 'string',
'enum' => ['performance', 'security', 'seo', 'accessibility'],
],
'description' => 'Hvilke helsesjekker som skal kjøres. Standard: alle.',
],
],
],
'output_schema' => [
'type' => 'object',
'properties' => [
'overall_score' => ['type' => 'number', 'minimum' => 0, 'maximum' => 100],
'checks' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'name' => ['type' => 'string'],
'score' => ['type' => 'number'],
'issues' => ['type' => 'array', 'items' => ['type' => 'string']],
],
],
],
],
],
'capability' => 'manage_options',
'rate_limit' => '5/hour',
'callback' => 'wppoland_nettsted_helsesjekk',
]);
});
Komponerbare Abilities
Abilities kan avhenge av andre abilities. APIet støtter en depends_on-parameter som forteller AI-agenter om forutsetnings-abilities:
register_ability('wppoland/publiser-optimalisert-innlegg', [
'title' => 'Publiser SEO-optimalisert innlegg',
'depends_on' => [
'wppoland/generer-innhold',
'wppoland/optimaliser-seo',
'wppoland/generer-utvalgt-bilde',
],
// ... resten av definisjonen
]);
Ability-mellomvare
Du kan legge til mellomvare til abilities ved hjelp av WordPress-filtre:
add_filter('ability_pre_invoke', function ($input, $ability_slug, $agent_id) {
// Logg alle ability-kall
do_action('wppoland_ability_invoked', $ability_slug, $agent_id, $input);
// Hastighetsbegrensningslogikk
if (is_rate_limited($agent_id, $ability_slug)) {
return new WP_Error('rate_limited', 'For mange forespørsler', ['status' => 429]);
}
return $input;
}, 10, 3);
Sikkerhetshensyn for AI-tilgjengelig WordPress
Autentisering og autorisasjon
Abilities API bruker OAuth 2.1 med avgrensede tokens. Hver AI-agent mottar et token som spesifiserer nøyaktig hvilke abilities den kan bruke:
{
"agent_id": "claude-mcp-agent-001",
"scopes": [
"abilities:read_content",
"abilities:create_content",
"abilities:optimize_seo"
],
"rate_limits": {
"global": "100/hour",
"per_ability": "20/hour"
},
"expires_at": "2026-04-21T00:00:00Z"
}
Menneskelig godkjenning (Human-in-the-Loop)
Destruktive abilities (sletting av innhold, behandling av betalinger, endring av nettstedinnstillinger) kan kreve menneskelig godkjenning:
register_ability('butikk/behandle-refusjon', [
'title' => 'Behandle kunderefusjon',
'requires_approval' => true,
'approval_timeout' => 3600, // 1 time
'approval_roles' => ['shop_manager', 'administrator'],
// ...
]);
Når en AI-agent kaller denne abilityen, settes forespørselen i kø og et varsel sendes til autoriserte brukere. Agenten mottar en ventestatus og kan sjekke tilbake etter godkjenning.
Revisjonsspor
Hvert ability-kall logges med:
- Agent-ID og IP-adresse
- Ability-slug og inputparametere
- Utførelsesresultat og varighet
- Brukeren som autoriserte agent-tokenet
- Tidsstempel og WordPress-miljødetaljer
Inputsanitisering
Abilities API validerer alle inputs mot det deklarerte JSON-skjemaet før de sendes til callbacken. Dette forhindrer injeksjonsangrep og sikrer dataintegritet. I tillegg bør standard WordPress-sanitiseringsfunksjoner (sanitize_text_field(), wp_kses_post() osv.) brukes inne i callback-funksjoner.
Sammenligning med eksisterende tilnærminger
REST API vs. Abilities API
| Egenskap | REST API | Abilities API |
|---|---|---|
| Fokus | Dataressurser (CRUD) | Evner og intensjoner |
| Oppdagelse | Skjema via JSON Schema/OpenAPI | Abilities-manifest med semantiske beskrivelser |
| AI-lesbarhet | Krever forhåndsprogrammert kunnskap | Selvbeskrivende, agentoppdagelig |
| Komposisjon | Manuell endepunktkjeding | Deklarerte avhengigheter og arbeidsflyter |
| Auth-modell | Applikasjonspassord, JWT | OAuth 2.1 avgrenset per ability |
| Hastighetsbegrensning | Global eller per rute | Per ability, per agent |
| Revisjon | Krever tilpasset implementering | Innebygd revisjonsspor |
WPGraphQL vs. Abilities API
WPGraphQL utmerker seg i fleksibel dataspørring - klienter ber om nøyaktig de dataene de trenger i en enkelt forespørsel. Abilities API er ikke en erstatning. Abilities kan bruke GraphQL internt for datahenting mens de eksponerer et høyere-nivå grensesnitt for AI-agenter.
Enkelt sagt: GraphQL svarer på «hvilke data har du?» mens Abilities API svarer på «hva kan du gjøre?»
Når bruke hva
- REST API: server-til-server-integrasjoner, mobilapper, tradisjonell frontend-konsumering
- WPGraphQL: kompleks datahenting, headless frontender, Jamstack-arkitekturer
- Abilities API: AI-agentintegrasjon, automatiserte arbeidsflyter, evneoppdagelse
Fremtiden for AI-drevne WordPress-arbeidsflyter
Multi-agentorkestrering
Etter hvert som AI-systemer modnes, vil vi se flere spesialiserte agenter samarbeide om WordPress-oppgaver. En innholdsagent håndterer skriving, en SEO-agent håndterer optimalisering, en designagent håndterer layout og bilder, og en QA-agent håndterer gjennomgang og testing. Abilities API gir den delte infrastrukturen disse agentene bruker til koordinering.
Implikasjoner for marketplace
WordPress-plugin-økosystemet vil utvikle seg til å inkludere ability-bundles - plugins som primært eksisterer for å eksponere abilities for AI-agenter. Forestill deg en plugin som ikke legger til noe UI, men registrerer 50 SEO-abilities som AI-agenter kan bruke. Verdien skifter fra menneskerettede grensesnitt til maskinrettede evner.
WordPress som AI-backend
Med Abilities API blir WordPress mer enn et innholdshåndteringssystem. Det blir en AI-orkestrerbar backend som kan drive intelligente applikasjoner. En WordPress multisite med WooCommerce, LMS, medlemskap og arrangementplugins blir en omfattende forretningsplattform som AI-agenter kan administrere ende-til-ende.
Integrasjon med eksterne AI-tjenester
Abilities API er toveis. WordPress kan ikke bare eksponere abilities for AI-agenter, men også konsumere abilities fra eksterne AI-tjenester:
// WordPress kaller en ekstern AI-ability
$result = invoke_external_ability('openai/generate-image', [
'prompt' => 'Profesjonelt arbeidsområde med laptop som viser WordPress-dashbord',
'size' => '1792x1024',
'style' => 'natural',
]);
// Bruk resultatet i en WordPress-ability
update_post_meta($post_id, '_thumbnail_url', $result['image_url']);
Teste ability-handlere
Før en ability gjøres tilgjengelig for AI-agenter, bør handleren testes like grundig som et hvilket som helst produksjonsklart REST-endepunkt. Forskjellen er at kalleren ikke er et menneske med et skjema, men en språkmodell som genererer uforutsigbare og til tider selvmotsigende inputs. En agent leverer sjelden nøyaktig de verdiene utvikleren så for seg da skjemaet ble skrevet, så handleren må tåle grensetilfeller.
Det første testtilfellet er skjemavalideringen. En PHPUnit-test som utvider WP_UnitTestCase kan bekrefte at ugyldig input avvises med WP_Error i stedet for å slippe gjennom til forretningslogikken:
public function test_ability_rejects_unknown_product(): void {
$result = invoke_ability('butikk/oppdater-produkt', [
'product_id' => 999999,
'price' => '249',
]);
$this->assertWPError($result);
$this->assertSame('not_found', $result->get_error_code());
}
En like viktig test dekker tilgangskontrollen: en bruker uten edit_products-tillatelsen skal ikke kunne kjøre abilityen, selv om tokenet formelt er gyldig. Slike tester fanger nettopp feilene som fører til datalekkasjer i produksjon.
For en manuell røyktest er WP-CLI nyttig. En kommando som wp ability invoke butikk/oppdater-produkt --input='{"product_id":42,"price":"199"}' kaller handleren med reelle data uten at en faktisk AI-agent er tilkoblet. Da ser du umiddelbart om utdataene samsvarer med output_schema, en vanlig snublestein, siden agenter forventer strukturerte svar og avbryter hele kjeden ved avvik.
Til slutt lønner det seg å teste med bevisst «fiendtlige» inputs: altfor lange strenger, dypt nøstede objekter og uventede Unicode-tegn. Når handleren avviser og logger disse rent, er abilityen klar for produksjon.
Kom i gang allerede i dag
Den fullstendige Abilities API lanseres med WordPress 7.x, men du kan forberede deg nå:
- Strukturer plugin-koden rundt evner - skill mellom hva pluginen din gjør og hvordan den presenterer informasjon
- Bruk JSON Schema for inputvalidering - dette mapper direkte til ability-skjemaer
- Implementer korrekte tillatelsessjekker - Abilities API bygger på WordPress sitt eksisterende capability-system
- Bygg REST API-endepunkter med tydelig dokumentasjon - disse blir fundamentet for dine abilities
- Følg WordPress-utviklingspraksiser på wppoland.com
Skiftet mot AI-drevne arbeidsflyter er ikke en fjern fremtid - det skjer nå. Hver WordPress-plugin du bygger i dag bør vurdere hvordan AI-agenter kan samhandle med den i morgen. Nettsteder som omfavner dette paradigmet tidlig vil ha et betydelig konkurransefortrinn innen oppdagbarhet, automatiseringseffektivitet og brukeropplevelse.
For WordPress-vedlikehold og utviklingstjenester som integrerer de nyeste AI-arbeidsflytmulighetene, besøk wppoland.com.
Abilities API-spesifikasjonen er under aktiv utvikling. Implementeringsdetaljer kan endres før den endelige WordPress 7.x-utgivelsen. Denne artikkelen gjenspeiler det nåværende forslaget per mars 2026.





