Přeskočit na hlavní obsah

Reference schopností

Schopnosti jsou atomární akce, které Gratis AI Agent může provést na vaší instalaci WordPressu. Každá schopnost je zaregistrovaná PHP třída, která vystavuje JSON schématický popis (schema) — agent tento schéma čte během běhu programu, abych pochopil, jaké parametry jsou vyžadovány a co schopnost vrátí.

Tato stránka dokumentuje všechny schopnosti, které se dodávají s Gratis AI Agent v verzi v1.9.0.


Custom Post Types (Vlastní typy příspěvků)

Tyto schopnosti spravují vlastní typy příspěvků (CPT), které jsou zaregistrovány pomocí agenta. Registrace se ukládá do tabulky nastavení WordPressu, takže přežijí deaktivaci a opětovné aktivování pluginu.

register_post_type

Registruje nový vlastní typ příspěvku.

Parametry

ParametrTypPožadovánoPopis
slugstringAnoKlíč typu příspěvku (max 20 znaků, bez velkých písmen, bez mezer)
singular_labelstringAnoČlověkečitelné jednovollé jméno, např. Portfolio Item
plural_labelstringAnoČlověkečitelné množné jméno, např. Portfolio Items
publicbooleanNezda je typ příspěvku veřejně dostupný. Výchozí hodnota true
supportsarrayNefunkce, které podporuje: title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Výchozí hodnota ["title","editor"]
has_archivebooleanNezda je aktivní archiv příspěvků typu. Výchozí hodnota false
menu_iconstringNetřída Dashicons nebo URL pro ikonu v admin menu. Výchozí hodnota "dashicons-admin-post"
rewrite_slugstringNeURL slug pro typ příspěvku. Po výchozím hodnotě je to slug

Příklad

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

Vrací hodnotu { "success": true, "slug": "portfolio" }


list_post_types

Vrací všechny vlastní typy příspěvků zaregistrované agentem.

Parametry — žádné

Vrací hodnota

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

delete_post_type

Odregistruje vlastní typ příspěvku, který byl previously zaregistrován agentem. Existující příspěvky tohoto typu zůstávají v databázi, ale již nejsou přístupné přes tento typ příspěvků.

Parametry

ParametrTypPožadovánoPopis
slugstringAnoKlíč typu příspěvku k odstranění

Vrací hodnota { "success": true, "slug": "portfolio" }


Custom Taxonomies (Vlastní taxonomie)

Tyto schopnosti spravují vlastní taxonomie. Jako CPT jsou i registrace taxonomie trvalé.

register_taxonomy

Registruje novou vlastní taxonomie.

Parametry

Design system abilities modify the vizuální prezentaci webu WordPress — od vlastního CSS po vzory bloků a logo stránky.

inject_custom_css

Přidává CSS do <head> stránky pomocí funkce wp_add_inline_style. CSS je uložen v optionu gratis_ai_agent_custom_css a při resetování schopnosti se čistě vymaže.

Parametry

ParametrTypPožadovánoPopis
cssstringAnoPlatný CSS k vložení
labelstringNeČitelné označení pro tento blok CSS, použité v debug logy. Výchozí hodnota "agent-injected"
replacebooleanNePokud je true, nahrazuje veškerý previously vložený CSS. Výchozí hodnota false (připojit)

Příklad

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

Vrací { "success": true, "bytes": 96 }


add_block_pattern

Registruje znovu použitý vzor bloku do knihovny vzorů WordPress.

Parametry

ParameterTypeRequiredDescription
slugstringYesIdentifikátor vzoru, např. gratis/hero-dark
titlestringYesČlověkečitelné jméno vzoru zobrazené v editoru
contentstringYesSerializovaný markup bloku (HTML) pro vzor
categoriesarrayNoSlagy kategorií vzoru, např. ["featured", "hero"]
descriptionstringNoKrátký popis zobrazený v vyhledávači vzorů
keywordsarrayNoKlíčová slova pro vyhledávání

Vrací hodnoty { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Uvádí všechny vzory bloků zaregistrované agentem.

Parametry — žádné

Vrací hodnoty

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

set_site_logo

Nastavuje logo webu WordPress na daný ID přílohy nebo vzdálenou URL adresu obrázku. Pokud je poskytnuta URL, obrázek je stoupen a importován do knihovny médií (Media Library).

Parametry

ParameterTypeRequiredDescription
attachment_idintegerNeID existující přílohy v knihovně médií
urlstringNeVzdálená URL adresa obrázku pro import a nastavení jako logo

Musíte poskytnout buď attachment_id, nebo url.

Vrací hodnoty { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Aplikuje pojmenovaný předdefinovaný vzhled (barva/typografie) do souboru theme.json (nebo global-styles) aktuální temy. Předdefinované styly jsou balíčky vytvořené týmem Gratis AI Agentu.

Parametry

ParameterTypeRequiredDescription
presetstringNeJméno předdefinovaného stylu, např. minimal-dark, warm-editorial, corporate-blue
mergebooleanNePokud je true, spojuje se s existujícími hodnotami namísto jejich nahrazení. Po výchozím nastavení je false.

Dostupné předdefinované styly

PresetPopis
minimal-darkTmavý pozad, bílý text, jedna akcentní barva
warm-editorialTeplý off-bílí pozad, serif nadpisy, zemité akcentní barvy
corporate-blueModrá a bílá paleta s profesionální typografií
vibrant-startupSvětlé gradienty, zaoblené rohy, moderní bezserif fonty
classic-blogNeutrální šedé, pohodlná výška řádku, tradiční rozložení textu

Vrací hodnoty { "success": true, "preset": "minimal-dark" }


Globální styly (Global Styles)

Funkce Globální styly čtou a zapisují hodnoty v souboru theme.json pomocí API WordPress Global Styles, což ovlivňuje všechny bloky a šablony celého webu.

Vrací aktuální konfiguraci globálních stylů.

Parametry

ParameterTypeRequiredDescription
pathstringNeJSON ukazatel na konkrétní hodnotu, např. /color/palette nebo /typography/fontSizes. Pokud není uvedeno, vrátí celý objekt.

Vrací hodnoty celý objekt globálních stylů nebo hodnotu v path.


set_global_styles

reset_global_styles

Resetuje všechny změny globálních stylů aplikovaných agentem, obnovuje výchozí styly tématu.

Parametry — žádné

Vrací { "success": true }


Navigační menu

Funkce pro navigace menu vytvářejí a spravují navigační menu WordPress a jejich položky.

create_menu

Vytvoří nové navigační menu WordPress.

Parametry

ParametrTypPožadovánoPopis
namestringAnoNázev menu, např. Primary Navigation
locationstringNeLokace tématu, do které se toto menu přiřadí, např. primary

Vrací { "success": true, "menu_id": 7 }


update_menu

Změní název menu nebo ho přenavrhne na jinou lokaci tématu.

Parametry

ParametrTypPožadovánoPopis
menu_idintegerAnoID menu, které chcete aktualizovat
namestringNeNový název menu
locationstringNeLokace tématu, do které se menu přiřadí nebo přenavrhne

Vrací { "success": true, "menu_id": 7 }


Přidá položku do existující navigační nabídky.

Parametry

ParametrTypPožadovánoPopis
menu_idintegerAnoID cílového menu
typestringAnoTyp položky: custom, post_type nebo taxonomy
titlestringNeNázev pro položku v menu (nutné pro typ custom)
urlstringNeURL pro položky typu custom
object_idintegerNeID příspěvku nebo terminu pro položky typu post_type/taxonomy
parent_idintegerNeID položky menu, pod kterou se tato položka bude vkládena
positionintegerNeZákladní pozice (číslo od nuly) v menu

Vrací { "success": true, "item_id": 12 }


remove_menu_item

Odstraní položku z navigačního menu.

Parametry

ParametrTypPožadovánoPopis
item_idintegerAnoID položky menu, kterou chcete odstranit

Vrací { "success": true, "item_id": 12 }


list_menus

Seznam všech navigačních menu WordPress včetně jejich přiřazených lokalit v tématu.

Parametry — žádné

Vrací

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

Správa možností (Options Management)

Funkce pro možnosti čtou a zapisují nastavení WordPress pomocí get_option / update_option. Vytvořena je vnitřní bezpečnostní blokem, který zabraňuje náhodné úpravě kritických nastavení.

get_option

Čte se WordPress option (volbu).

Parametry

ParametrTypPožadovánoPopis
option_namestringAnoKlíč volby, např. blogname

Vrací hodnoty { "option_name": "blogname", "value": "Moje webová stránka" }

Vrací chybu, pokud je option_name v seznamu bezpečnostních bloků.


set_option

Zapisuje WordPress option (volbu).

Parametry

ParametrTypPožadovánoPopis
option_namestringAnoKlíč volby
valueanyAnoNová hodnota (automaticky serializována pro arrayy/objekty)
autoloadstringNe"yes" nebo "no". Po výchozím nastavení zachovává se nastavení autoload.

Vrací chybu, pokud je option_name v seznamu bezpečnostních bloků.

Vrací hodnoty { "success": true, "option_name": "blogname" }


delete_option

Smazá WordPress option (volbu).

Parametry

ParametrTypPožadovánoPopis
option_namestringAnoKlíč volby, který chcete smazat

Vrací chybu, pokud je option_name v seznamu bezpečnostních bloků.

Vrací hodnoty { "success": true, "option_name": "my_custom_option" }


list_options

Seznamuje WordPress option (volby) odpovídající určitému vzoru.

Parametry

ParametrTypPožadovánoPopis
patternstringNeSQL LIKE vzorec pro filtrování názvů volb, např. gratis_%. Vrací všechny volby, pokud není uvedeno (používat s opatrností u velkých databází).
limitintegerNeMaximální počet výsledků. Po výchozím nastavení 50, max 500

Vrací hodnoty

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

Content Management (Správa obsahu)

Možnosti správy obsahu vytvářejí a upravují WordPress příspěvky a stránky. Vrací se ID příspěvků, abyste v následných kroku plánu s více možnostmi mohli odkazovat na vytvořený obsah.

create_post

Vytvoří nový WordPress příspěvek, stránku nebo záznam typu vlastního obsahu (custom post type).

Parametry

ParametrTypPožadovánoPopis
titlestringAnoTitul příspěvku
contentstringNeTělo příspěvku – přijímá text, HTML nebo serializovaný markup bloků
statusstringNedraft (návrh), publish (publikováno), pending (očekává), private (privátní). Po výchozím nastavení draft.
post_typestringNeSlug typu příspěvku, např. post, page nebo jakýkoli zaregistrovaný CPT. Po výchozím nastavení post.
excerptstringNeKrátké shrnutí zobrazené v archivu a výsledcích vyhledávání
categoriesarrayNePole s názvy nebo ID kategorií, které chcete přiřadit
tagsarrayNePole s názvy nebo ID tagů, které chcete přiřadit
authorintegerNeID uživatele WordPressu, který bude příspěvkem autor. Po výchozím nastavení aktuální uživatel
datestringNeDatum publikace v formátu ISO 8601, např. 2026-05-01T09:00:00
page_templatestringNeSoubor šablony přiřazený příspěvku nebo stránce, např. page-full-width.php. Značný pouze tehdy, když je post_type page nebo CPT, který podporuje šablony stránek.

Příklad

update_post

Aktualizuje existující WordPress příspěvek nebo stránku.

Parametry

ParametrTypPožadovánoPopis
post_idintegerAnoID příspěvku, který chcete aktualizovat
titlestringNeNový název příspěvku
contentstringNeNový obsah příspěvku
statusstringNeNový stav: draft, publish, pending, private
excerptstringNeNový výpis (excerpt)
categoriesarrayNeNahraď seznam kategorií novým polem s názvy nebo ID
tagsarrayNeNahraď seznam tagů novým polem s názvy nebo ID
page_templatestringNeNový šablonový soubor přiřazený příspěvku nebo stránce, např. page-full-width.php. Odeslání prázdného řetězce odstraní přiřazení šablony a vrátí se k výchozímu šabloně v tématu.

Příklad — změna šablony po vytvoření

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

Vrací hodnota { "success": true, "post_id": 42 }


batch_create_posts

Vytvoří více příspěvků v rámci jednoho volání funkce, což zrychluje proces při stavbě webu nebo při náročném importu velkého množství obsahu. Příspěvky se vytvářejí postupně; pokud selže jeden, zpracování pokračuje a chyba bude uvedena v výsledném seznamu.

Parametry

ParametrTypPožadovánoPopis
postsarrayAnoPole s objekty příspěvků, každý přijímá stejné parametry jako funkce create_post
stop_on_errorbooleanNePokud je true, zpracování se zastaví po prvním selhání. Výchozí hodnota false

Příklad

{
"posts": [
{
"title": "O nás",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Služby",
"post_type": "page",
"status": "publish"
},
{
"title": "Kontakt",
"post_type": "page",
"status": "publish"
}
]
}

Vrací hodnota

{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "O nás" },
{ "success": true, "post_id": 43, "title": "Služby" },
{ "success": true, "post_id": 44, "title": "Kontakt" }
]
}

set_featured_image

Připojuje hlavní obrázek (náhled příspěvku) k existujícímu příspěvku nebo stránce. Přijímá ID existující položky v Media Library nebo URL vzdáleného obrázku; pokud je poskytnuta URL, obrázek bude automaticky stoupen a importován.

Parametry

ParameterTypeRequiredDescription
post_idintegerYesID of the post or page to update
attachment_idintegerNoID of an existing Media Library attachment
urlstringNoAdresa obrázku z externího zdroje pro import a nastavení jako hlavní obrázek
alt_textstringNoText pro alternativní text, pokud se obrázek importuje z URL adresy

Musíte poskytnout buď attachment_id, nebo url.

Vrací hodnoty { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Tento prvek vytvoří kontaktní formulář pomocí aktivního pluginu pro formuláře (Contact Form 7, WPForms, Fluent Forms nebo Gravity Forms, v závislosti na tom, který je nainstalován). Vrací krátký kód, který můžete vložit do jakéhokoli příspěvku nebo stránky.

Parametry

ParameterTypeRequiredDescription
titlestringYesNázev formuláře zobrazený v adminu pluginu pro formuláře
fieldsarrayYesSeřazený seznam polí formuláře (podívejte se na objekt Field níže)
recipientstringNoE-mailová adresa, na kterou budou odesílány příspěvky. Po výchozím nastavení je to e-mail adminu WordPressu
subjectstringNoPředmět e-mailové zprávy. Podporuje placeholder [your-name] a [your-subject] při používání Contact Form 7
confirmation_messagestringNoZpráva zobrazitelná po úspěšném odeslání. Po výchozím nastavení: "Děkujeme za Vaši zprávu. Budeme se vám brzy zeptat."

Objekt Field (Pole)

KlíčTypRequiredDescription
namestringYesInterní název pole / strojový klíč
labelstringYesČitelné označení zobrazené na formuláři pro uživatele
typestringYestext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanNoZnačí, zda musí být pole vyplněno před odesláním. Po výchozím nastavení false
optionsarrayNoMožnosti pro pole typu select, checkbox a radio
placeholderstringNoTextový placeholder pro vstupy typu text

Příklad

{
"title": "Dotaz na rezervaci restaurace",
"fields": [
{ "name": "your-name", "label": "Jméno", "type": "text", "required": true },
{ "name": "your-email", "label": "E-mail", "type": "email", "required": true },
{ "name": "party-size", "label": "Počet osob", "type": "select", "options": ["1–2", "3–5", "6–10", "10+"] },
{ "name": "your-message", "label": "Osobní požadavky", "type": "textarea", "required": false }
],
"recipient": "[email protected]",
"subject": "Nová rezervace z dotazu od [your-name]"
}

Vrací hodnoty

{
"success": true,
"form_id": 3,
"shortcode": "[contact-form-7 id=\"3\" title=\"Dotaz na rezervaci restaurace\"]"
}

Vizualní přehled (Visual Review)

Funkce Vizualního přehledu umožňuje agentovi zachytit snímky obrazovky živých stránek a analyzovat je. To umožňuje autonomní revizi návrhů, srovnání před/po a kontrolu vizuální regrese bez nutnosti externí rozšíření pro prohlížeče.

capture_screenshot

compare_screenshots

Tato funkce vezme dvě snímky obrazovky a vrátí skóre vizuálního rozdílu plus obrázek, který zvýrazňuje změněné oblasti. Je užitečná pro potvrzení, že změna návrhu vedla k očekávanému výsledku nebo pro detekci nechtěných regresí.

Parametry

ParametrTypPožadovánoPopis
before_urlstringAnoURL stránky, kterou snímek obrazovky zachytíte jako stav „před“.
after_urlstringAnoURL stránky, kterou snímek obrazovky zachytíte jako stav „po“. Může být stejná URL při srovnávání v čase.
widthintegerNeŠířka okna pro oba snímky. Po výchozím hodnotě je 1280.
thresholdfloatNePrůsvitový práh rozdílu (od 0,0 do 1,0). Pixely v tomto tolerovaném rozmezí se považují za nezměněné. Po výchozím nastavení je 0,1.

Vrací hodnoty

{
"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"
}

diff_score na hodnotě 0.0 znamená žádnou viditelnou změnu; 1.0 znamená, že se změnily všechny pixely.


review_page_design

Tato funkce zachytí snímek obrazovky stránky a odesme ho jazykovému modelu pro vizuální analýzu. Vrací strukturovanou hodnocení zahrnující rozvržení, typografii, používání barev a aspekty přístupnosti (accessibility).

Parametry

ParametrTypPožadovánoPopis
urlstringAnoCelá URL stránky, kterou je třeba zhodnotit.
focusstringNeRozdělený seznam oblastí pro zvýraznění: layout, typography, colour, accessibility, mobile. Po výchozím nastavení jsou všechny oblasti.
widthintegerNeŠířka okna. Po výchozím nastavení je 1280.

Vrací hodnoty

Instalovatelné schopnosti

Registrování instalovatelných schopností vám umožňuje rozšířit agent o další balíčky schopností, které jsou distribuovány jako WordPress pluginy. Każdy balíček se registruje jednu nebo více schopností pomocí standardního ability API.

list_available_abilities

Vrací katalog dostupných balíčků schopností k instalaci z registru.

Parametry

ParametrTypPožadovánoPopis
categorystringNeFiltrovat podle kategorie: ecommerce, seo, media, social, developer

Vrací hodnota

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

install_ability

Stahuje a aktivuje balíček schopností z registru.

Parametry

ParametrTypPožadovánoPopis
slugstringAnoSlug pluginu s balíčkem schopností

Vrací hodnota { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Dotazuje na registru schopností a najde nejlepší plugin pro popsaný případ použití a volitelně ho nainstaluje.

Parametry

ParametrTypPožadovánoPopis
descriptionstringAnoDeskripce požadované funkcionality v přirozeném jazyce
installbooleanNePokud je true, plugin se okamžitě nainstaluje. Výchozí hodnota false

Příklad

{
"description": "Potřebuji formulář pro kontakt s podporou nahrávání souborů a ochranou proti spamům",
"install": false
}

Vrací hodnota

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Široce přijímaný, podporuje nahrávání souborů a integruje se s Akismet pro filtraci spamu.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}