Hoppa till huvudinnehåll

Referens för förmågor

Förmågor är de atomära åtgärder som Gratis AI Agent kan anropa på din WordPress-installation. Varje förmåga är en registrerad PHP-klass som exponerar ett JSON-schema — agenten läser detta schema vid körning för att förstå vilka parametrar som krävs och vad förmågan returnerar.

Den här sidan dokumenterar alla förmågor som levereras med Gratis AI Agent v1.9.0.


Anpassade inläggstyper

Dessa förmågor hanterar anpassade inläggstyper (CPT:er) som registreras via agenten. Registreringar sparas i WordPress alternativtabell så att de överlever avaktivering och återaktivering av tillägget.

register_post_type

Registrerar en ny anpassad inläggstyp.

Parametrar

ParameterTypKrävsBeskrivning
slugstringJaNyckeln för inläggstypen (max 20 tecken, inga versaler, inga mellanslag)
singular_labelstringJaMänniskoläsbart singularnamn, t.ex. Portfolio Item
plural_labelstringJaMänniskoläsbart pluralnamn, t.ex. Portfolio Items
publicbooleanNejOm inläggstypen är offentligt åtkomlig. Standard true
supportsarrayNejFunktioner som ska stödjas: title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Standard ["title","editor"]
has_archivebooleanNejOm en arkivsida för inläggstypen är aktiverad. Standard false
menu_iconstringNejDashicons-klass eller URL för administratörsmenyns ikon. Standard "dashicons-admin-post"
rewrite_slugstringNejURL-slug för inläggstypen. Standard är slug

Exempel

{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true,
"supports": ["title", "editor", "thumbnail"],
"has_archive": true,
"menu_icon": "dashicons-portfolio"
}

Returnerar { "success": true, "slug": "portfolio" }


list_post_types

Returnerar alla anpassade inläggstyper som registrerats av agenten.

Parametrar — inga

Returnerar

{
"post_types": [
{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true
}
]
}

delete_post_type

Avregistrerar en anpassad inläggstyp som tidigare registrerats av agenten. Befintliga inlägg av den typen finns kvar i databasen men är inte längre åtkomliga via inläggstypen.

Parametrar

ParameterTypKrävsBeskrivning
slugstringJaNyckeln för inläggstypen som ska tas bort

Returnerar { "success": true, "slug": "portfolio" }


Anpassade taxonomier

Dessa förmågor hanterar anpassade taxonomier. Precis som CPT:er sparas taxonomiregistreringar.

register_taxonomy

Registrerar en ny anpassad taxonomi.

Parametrar

ParameterTypKrävsBeskrivning
slugstringJaTaxonominyckeln (max 32 tecken)
singular_labelstringJaMänniskoläsbart singularnamn, t.ex. Project Category
plural_labelstringJaMänniskoläsbart pluralnamn, t.ex. Project Categories
post_typesarrayJaSlugs för inläggstyper som denna taxonomi ska kopplas till
hierarchicalbooleanNejtrue för kategoriliknande, false för taggliknande. Standard true
publicbooleanNejOm termer är offentligt åtkomliga. Standard true
rewrite_slugstringNejURL-slug för taxonomin. Standard är slug

Exempel

{
"slug": "project-category",
"singular_label": "Project Category",
"plural_label": "Project Categories",
"post_types": ["portfolio"],
"hierarchical": true
}

Returnerar { "success": true, "slug": "project-category" }


list_taxonomies

Returnerar alla anpassade taxonomier som registrerats av agenten.

Parametrar — inga

Returnerar

{
"taxonomies": [
{
"slug": "project-category",
"singular_label": "Project Category",
"post_types": ["portfolio"],
"hierarchical": true
}
]
}

delete_taxonomy

Avregistrerar en anpassad taxonomi som tidigare registrerats av agenten.

Parametrar

ParameterTypKrävsBeskrivning
slugstringJaTaxonominyckeln som ska tas bort

Returnerar { "success": true, "slug": "project-category" }


Designsystem

Designsystemets förmågor ändrar den visuella presentationen av WordPress-webbplatsen — från anpassad CSS till blockmönster och webbplatsens logotyp.

inject_custom_css

Lägger till CSS i webbplatsens <head> via wp_add_inline_style. CSS lagras i alternativet gratis_ai_agent_custom_css och avköas rent när förmågan återställs.

Parametrar

ParameterTypKrävsBeskrivning
cssstringJaGiltig CSS att injicera
labelstringNejMänniskoläsbar etikett för detta CSS-block, används i felsökningsloggar. Standard "agent-injected"
replacebooleanNejOm true, ersätter all tidigare injicerad CSS. Standard false (lägger till)

Exempel

{
"css": ":root { --primary: #1a1a2e; --accent: #e94560; } body { font-family: 'Inter', sans-serif; }",
"label": "brand-colours",
"replace": false
}

Returnerar { "success": true, "bytes": 96 }


add_block_pattern

Registrerar ett återanvändbart blockmönster i WordPress mönsterbibliotek.

Parametrar

ParameterTypKrävsBeskrivning
slugstringJaMönsteridentifierare, t.ex. gratis/hero-dark
titlestringJaMänniskoläsbart mönsternamn som visas i redigeraren
contentstringJaSerialiserad blockmarkup (HTML) för mönstret
categoriesarrayNejSlugs för mönsterkategorier, t.ex. ["featured", "hero"]
descriptionstringNejKort beskrivning som visas i mönsterväljaren
keywordsarrayNejSöknyckelord

Returnerar { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Listar alla blockmönster som registrerats av agenten.

Parametrar — inga

Returnerar

{
"patterns": [
{
"slug": "gratis/hero-dark",
"title": "Dark Hero",
"categories": ["hero"]
}
]
}

Ställer in WordPress webbplatslogotyp till ett angivet bilage-ID eller en fjärrbilds-URL. När en URL anges laddas bilden ner och importeras till Media Library.

Parametrar

ParameterTypKrävsBeskrivning
attachment_idintegerNejID för en befintlig Media Library-bilaga
urlstringNejFjärrbilds-URL att importera och ställa in som logotyp

En av attachment_id eller url måste anges.

Returnerar { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Tillämpar en namngiven färg-/typografiförinställning på det aktiva tematets theme.json (eller global-styles). Förinställningar är kurerade paket som underhålls av Gratis AI Agent-teamet.

Parametrar

ParameterTypKrävsBeskrivning
presetstringJaFörinställningens namn, t.ex. minimal-dark, warm-editorial, corporate-blue
mergebooleanNejOm true, slå samman med befintliga värden i stället för att ersätta. Standard false

Tillgängliga förinställningar

FörinställningBeskrivning
minimal-darkNästan svart bakgrund, vit text, en enda accentfärg
warm-editorialVarm benvit bakgrund, serif-rubriker, jordnära accentfärger
corporate-blueMarinblå och vit palett med professionell typografi
vibrant-startupLjusa gradienter, rundade hörn, modern sans-serif-typ
classic-blogNeutrala gråtoner, bekväm radhöjd, traditionellt layoutavstånd

Returnerar { "success": true, "preset": "minimal-dark" }


Globala stilar

Globala stilfunktioner läser och skriver theme.json-värden via WordPress Global Styles API, vilket påverkar alla block och mallar på hela webbplatsen.

get_global_styles

Returnerar den aktuella konfigurationen för globala stilar.

Parametrar

ParameterTypKrävsBeskrivning
pathstringNejJSON-pekare till ett specifikt värde, t.ex. /color/palette eller /typography/fontSizes. Returnerar hela objektet om den utelämnas.

Returnerar hela objektet för globala stilar eller värdet vid path.


set_global_styles

Uppdaterar ett eller flera värden i konfigurationen för globala stilar.

Parametrar

ParameterTypKrävsBeskrivning
pathstringJaJSON-pekare till värdet som ska ställas in, t.ex. /color/palette
valueanyJaDet nya värdet

Exempel — lägg till en färg i paletten

{
"path": "/color/palette",
"value": [
{ "slug": "primary", "color": "#1a1a2e", "name": "Primary" },
{ "slug": "accent", "color": "#e94560", "name": "Accent" }
]
}

Returnerar { "success": true, "path": "/color/palette" }


reset_global_styles

Återställer alla agent-tillämpade ändringar av globala stilar och återställer temats standardvärden.

Parametrar — inga

Returnerar { "success": true }


Navigeringsmenyfunktioner skapar och hanterar WordPress navigeringsmenyer och deras objekt.

create_menu

Skapar en ny WordPress navigeringsmeny.

Parametrar

ParameterTypKrävsBeskrivning
namestringJaMenynamn, t.ex. Primary Navigation
locationstringNejTemaplats att tilldela denna meny till, t.ex. primary

Returnerar { "success": true, "menu_id": 7 }


update_menu

Byter namn på en meny eller tilldelar den om till en temaplats.

Parametrar

ParameterTypKrävsBeskrivning
menu_idintegerJaID för menyn som ska uppdateras
namestringNejNytt menynamn
locationstringNejTemaplats att tilldela eller tilldela om

Returnerar { "success": true, "menu_id": 7 }


add_menu_item

Lägger till ett objekt i en befintlig navigeringsmeny.

Parametrar

ParameterTypKrävsBeskrivning
menu_idintegerJaID för målmenyn
typestringJaObjekttyp: custom, post_type eller taxonomy
titlestringNejEtikett för menyobjektet (krävs för typen custom)
urlstringNejURL för custom-objekt
object_idintegerNejInläggs-ID eller term-ID för post_type/taxonomy-objekt
parent_idintegerNejMenyobjekts-ID att nästla detta objekt under
positionintegerNejNollbaserad position i menyn

Returnerar { "success": true, "item_id": 12 }


remove_menu_item

Tar bort ett objekt från en navigeringsmeny.

Parametrar

ParameterTypKrävsBeskrivning
item_idintegerJaMenyobjekts-ID att ta bort

Returnerar { "success": true, "item_id": 12 }


list_menus

Listar alla WordPress navigeringsmenyer, inklusive deras tilldelade temaplatser.

Parametrar — inga

Returnerar

{
"menus": [
{
"menu_id": 7,
"name": "Primary Navigation",
"location": "primary",
"item_count": 5
}
]
}

Alternativhantering

Alternativfunktioner läser och skriver WordPress-alternativ via get_option / update_option. En inbyggd säkerhetsblocklista förhindrar oavsiktlig ändring av kritiska inställningar.

get_option

Läser ett WordPress-alternativ.

Parametrar

ParameterTypKrävsBeskrivning
option_namestringJaAlternativnyckeln, t.ex. blogname

Returnerar { "option_name": "blogname", "value": "My Site" }

Returnerar ett fel om option_name finns på säkerhetsblocklistan.


set_option

Skriver ett WordPress-alternativ.

Parametrar

ParameterTypKrävsBeskrivning
option_namestringJaAlternativnyckeln
valueanyJaDet nya värdet (serialiseras automatiskt för arrayer/objekt)
autoloadstringNej"yes" eller "no". Standard bevarar den befintliga autoload-inställningen

Returnerar ett fel om option_name finns på säkerhetens blocklista.

Returnerar { "success": true, "option_name": "blogname" }


delete_option

Tar bort ett WordPress-alternativ.

Parametrar

ParameterTypeRequiredDescription
option_namestringYesAlternativnyckeln som ska tas bort

Returnerar ett fel om option_name finns på säkerhetens blocklista.

Returnerar { "success": true, "option_name": "my_custom_option" }


list_options

Listar WordPress-alternativ som matchar ett mönster.

Parametrar

ParameterTypeRequiredDescription
patternstringNoSQL LIKE-mönster för att filtrera alternativnamn, t.ex. gratis_%. Returnerar alla alternativ om det utelämnas (använd med försiktighet på stora databaser).
limitintegerNoMaximalt antal resultat. Standard 50, max 500

Returnerar

{
"options": [
{ "option_name": "gratis_ai_agent_version", "autoload": "yes" }
],
"total": 1
}

Innehållshantering

Innehållshanteringsförmågor skapar och redigerar WordPress-inlägg och sidor. Inläggs-ID:n returneras så att efterföljande steg i planer med flera förmågor kan referera till det skapade innehållet.

create_post

Skapar ett nytt WordPress-inlägg, en sida eller en post type-post.

Parametrar

ParameterTypeRequiredDescription
titlestringYesInläggsrubrik
contentstringNoInläggsinnehåll — accepterar vanlig text, HTML eller serialiserad blockmarkup
statusstringNodraft, publish, pending, private. Standard draft
post_typestringNoPost type-slug, t.ex. post, page eller valfri registrerad CPT. Standard post
excerptstringNoKort sammanfattning som visas i arkiv och sökresultat
categoriesarrayNoArray med kategorinamn eller ID:n att tilldela
tagsarrayNoArray med taggnamn eller ID:n att tilldela
authorintegerNoWordPress-användar-ID som ska anges som inläggets författare. Standard är den aktuella användaren
datestringNoPubliceringsdatum i ISO 8601-format, t.ex. 2026-05-01T09:00:00
page_templatestringNoMallfil att tilldela detta inlägg eller denna sida, t.ex. page-full-width.php. Endast relevant när post_type är page eller en CPT som stöder sidmallar.

Exempel

{
"title": "Welcome to Our New Site",
"content": "<!-- wp:paragraph --><p>Hello world!</p><!-- /wp:paragraph -->",
"status": "publish",
"post_type": "page",
"page_template": "page-full-width.php"
}

Returnerar { "success": true, "post_id": 42, "permalink": "https://example.com/welcome/" }


update_post

Uppdaterar ett befintligt WordPress-inlägg eller en sida.

Parametrar

ParameterTypeRequiredDescription
post_idintegerYesID för inlägget som ska uppdateras
titlestringNoNy inläggsrubrik
contentstringNoNytt inläggsinnehåll
statusstringNoNy status: draft, publish, pending, private
excerptstringNoNyt utdrag
categoriesarrayNoErsätt hela kategorilistan med denna array av namn eller ID:n
tagsarrayNoErsätt hela tagglistan med denna array av namn eller ID:n
page_templatestringNoNy mallfil att tilldela detta inlägg eller denna sida, t.ex. page-full-width.php. Skicka en tom sträng för att ta bort malltilldelningen och återgå till theme-standardinställningen.

Exempel — ändra mall efter skapande

{
"post_id": 42,
"page_template": "page-full-width.php"
}

Returnerar { "success": true, "post_id": 42 }


batch_create_posts

Skapar flera inlägg i ett enda förmågeanrop, vilket minskar tur-och-retur-anrop under webbplatsbyggen eller massimport av innehåll. Inlägg skapas i ordning; om ett misslyckas fortsätter de andra och felet rapporteras i resultat-arrayen.

Parametrar

ParameterTypeRequiredDescription
postsarrayYesArray med inläggsobjekt, där varje objekt accepterar samma parametrar som create_post
stop_on_errorbooleanNoOm true, stoppa bearbetningen efter det första felet. Standard false

Exempel

{
"posts": [
{
"title": "About Us",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Services",
"post_type": "page",
"status": "publish"
},
{
"title": "Contact",
"post_type": "page",
"status": "publish"
}
]
}

Returnerar

{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "About Us" },
{ "success": true, "post_id": 43, "title": "Services" },
{ "success": true, "post_id": 44, "title": "Contact" }
]
}

set_featured_image

Tilldelar en utvald bild (inläggsminiatyr) till ett befintligt inlägg eller en sida. Accepterar ett befintligt bilage-ID från Media Library eller en fjärrbild-URL; när en URL anges laddas bilden ner och importeras automatiskt.

Parametrar

ParameterTypeRequiredDescription
post_idintegerYesID för inlägget eller sidan som ska uppdateras
attachment_idintegerNoID för en befintlig bilaga i Media Library
urlstringNoFjärrbild-URL att importera och ange som den utvalda bilden
alt_textstringNoAlt-text att tillämpa på bilagan om den importeras från en URL

En av attachment_id eller url måste anges.

Returnerar { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Skapar ett kontaktformulär med det aktiva formulär-pluginet (Contact Form 7, WPForms, Fluent Forms eller Gravity Forms, beroende på vilket som är installerat). Returnerar en shortcode som kan bäddas in i valfritt inlägg eller på valfri sida.

Parametrar

ParameterTypObligatoriskBeskrivning
titlestringJaFormulärnamn som visas i formulärpluginets admin
fieldsarrayJaOrdnad lista över formulärfält (se fältobjekt nedan)
recipientstringNejE-postadress som ska ta emot inskickningar. Standard är WordPress admin-e-post
subjectstringNejÄmnesrad för e-post. Stöder platshållarna [your-name] och [your-subject] när Contact Form 7 används
confirmation_messagestringNejMeddelande som visas efter en lyckad inskickning. Standard: "Thank you for your message. We'll be in touch soon."

Fältobjekt

NyckelTypObligatoriskBeskrivning
namestringJaInternt fältnamn / maskinnyckel
labelstringJaMänniskoläsbar etikett som visas i formuläret
typestringJatext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanNejOm fältet måste fyllas i före inskickning. Standard false
optionsarrayNejAlternativ för fälten select, checkbox och radio
placeholderstringNejPlatshållartext för inmatningar av texttyp

Exempel

{
"title": "Restaurant Booking Enquiry",
"fields": [
{ "name": "your-name", "label": "Name", "type": "text", "required": true },
{ "name": "your-email", "label": "Email", "type": "email", "required": true },
{ "name": "party-size", "label": "Party size", "type": "select", "options": ["1–2", "3–5", "6–10", "10+"] },
{ "name": "your-message", "label": "Special requests", "type": "textarea", "required": false }
],
"recipient": "[email protected]",
"subject": "New booking enquiry from [your-name]"
}

Returnerar

{
"success": true,
"form_id": 3,
"shortcode": "[contact-form-7 id=\"3\" title=\"Restaurant Booking Enquiry\"]"
}

Visuell granskning

Funktionerna för Visuell granskning låter agenten ta skärmbilder av live-sidor och analysera dem, vilket möjliggör autonom designgranskning, före/efter-jämförelser och visuella regressionstester utan att kräva något webbläsartillägg.

capture_screenshot

Tar en skärmbild av en WordPress-sida på en given URL med en headless browser på serversidan. Bilden sparas i Media Library och en CDN-URL returneras.

Parametrar

ParameterTypObligatoriskBeskrivning
urlstringJaFullständig URL till sidan som ska skärmbildas, t.ex. https://example.com/about/
widthintegerNejViewport-bredd i pixlar. Standard 1280
heightintegerNejViewport-höjd i pixlar. Standard 800
full_pagebooleanNejFånga hela den rullningsbara sidan i stället för bara viewporten. Standard false
delay_msintegerNejMillisekunder att vänta efter sidladdning före fångst, användbart för animerat innehåll. Standard 500
labelstringNejMänniskoläsbar etikett som lagras med bilagan i Media Library

Returnerar

{
"success": true,
"attachment_id": 88,
"url": "https://example.com/wp-content/uploads/2026/04/screenshot-about.png",
"width": 1280,
"height": 800
}

compare_screenshots

Tar två skärmbilder och returnerar ett visuellt diff-värde samt en diff-bild som markerar ändrade områden. Användbart för att bekräfta att en designändring gav det förväntade resultatet eller för att upptäcka oavsiktliga regressioner.

Parametrar

ParameterTypObligatoriskBeskrivning
before_urlstringJaURL till sidan som ska fångas som "före"-tillståndet
after_urlstringJaURL till sidan som ska fångas som "efter"-tillståndet. Kan vara samma URL vid jämförelse över tid
widthintegerNejViewport-bredd för båda fångsterna. Standard 1280
thresholdfloatNejTröskelvärde för pixelskillnad (0.0–1.0). Pixlar inom denna tolerans betraktas som oförändrade. Standard 0.1

Returnerar

{
"success": true,
"diff_score": 0.04,
"changed_pixels": 2340,
"total_pixels": 1024000,
"diff_attachment_id": 91,
"diff_url": "https://example.com/wp-content/uploads/2026/04/diff-about.png"
}

Ett diff_score0.0 betyder ingen synlig förändring; 1.0 betyder att varje pixel har ändrats.


review_page_design

Tar en skärmbild av en sida och skickar den till språkmodellen för visuell analys. Returnerar en strukturerad bedömning som täcker layout, typografi, färganvändning och tillgänglighetsproblem.

Parametrar

ParameterTypObligatoriskBeskrivning
urlstringJaFullständig URL till sidan som ska granskas
focusstringNejKommaseparerad lista över granskningsområden att betona: layout, typography, colour, accessibility, mobile. Standard: alla områden
widthintegerNejViewport-bredd. Standard 1280

Returnerar

{
"success": true,
"screenshot_url": "https://example.com/wp-content/uploads/2026/04/review-about.png",
"assessment": {
"overall": "The page structure is clean and readable. Two accessibility issues detected.",
"layout": "Good visual hierarchy. Hero section is prominent.",
"typography": "Body text is 15px — consider increasing to 16px for readability.",
"colour": "Contrast ratio on the CTA button (#fff on #4a90e2) is 3.1:1 — below the WCAG AA threshold of 4.5:1.",
"accessibility": ["Low contrast on CTA button", "Missing alt text on hero image"],
"suggestions": ["Darken the CTA button to #1a5cb0 to pass WCAG AA", "Add descriptive alt text to the hero image"]
}
}

Installerbara funktioner

Installable Abilities Registry låter dig utöka agenten med ytterligare funktionspaket som distribueras som WordPress plugins. Varje paket registrerar en eller flera funktioner med standard-API:t för funktioner.

list_available_abilities

Returnerar katalogen över funktionspaket som är tillgängliga för installation från registret.

Parametrar

ParameterTypObligatoriskBeskrivning
categorystringNejFiltrera efter kategori: ecommerce, seo, media, social, developer

Returnerar

{
"packs": [
{
"slug": "gratis-ai-agent-woocommerce",
"name": "WooCommerce Abilities",
"category": "ecommerce",
"version": "1.0.0",
"abilities": ["create_product", "update_pricing", "manage_inventory"],
"installed": false
}
]
}

install_ability

Laddar ner och aktiverar ett förmågspaket från registret.

Parametrar

ParameterTypObligatoriskBeskrivning
slugstringJaSlug för förmågspaketets tillägg

Returnerar { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Frågar förmågeregistret för att hitta det bästa tillägget för ett beskrivet användningsfall och installerar det eventuellt.

Parametrar

ParameterTypObligatoriskBeskrivning
descriptionstringJaBeskrivning på naturligt språk av den önskade funktionaliteten
installbooleanNejOm true, installeras det rekommenderade tillägget omedelbart. Standard false

Exempel

{
"description": "I need a contact form with file upload support and spam protection",
"install": false
}

Returnerar

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Widely adopted, supports file uploads, and integrates with Akismet for spam filtering.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}