Пређи на главни садржај

Референца способности

Способности су атомске радње које Gratis AI Agent може да позове у вашој WordPress инсталацији. Свака способност је регистрована PHP класа која излаже JSON шему — агент чита ову шему током извршавања да би разумео који су параметри потребни и шта способност враћа.

Ова страница документује све способности које се испоручују уз Gratis AI Agent v1.9.0.


Прилагођени типови објава

Ове способности управљају прилагођеним типовима објава (CPT) регистрованим преко агента. Регистрације се чувају у WordPress табели опција, тако да опстају након деактивације и поновне активације plugin-а.

register_post_type

Региструје нови прилагођени тип објаве.

Параметри

ПараметарТипОбавезноОпис
slugstringДаКључ типа објаве (највише 20 знакова, без великих слова, без размака)
singular_labelstringДаЈеднински назив читљив људима, нпр. Portfolio Item
plural_labelstringДаМножински назив читљив људима, нпр. Portfolio Items
publicbooleanНеДа ли је тип објаве јавно доступан. Подразумевано true
supportsarrayНеФункционалности за подршку: title, editor, thumbnail, excerpt, comments, revisions, custom-fields. Подразумевано ["title","editor"]
has_archivebooleanНеДа ли је омогућена архивска страница типа објаве. Подразумевано false
menu_iconstringНеDashicons класа или URL за икону администраторског менија. Подразумевано "dashicons-admin-post"
rewrite_slugstringНеURL slug за тип објаве. Подразумева се slug

Пример

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

Враћа { "success": true, "slug": "portfolio" }


list_post_types

Враћа све прилагођене типове објава које је регистровао агент.

Параметри — нема

Враћа

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

delete_post_type

Одјављује прилагођени тип објаве који је агент претходно регистровао. Постојеће објаве тог типа остају у бази података, али више нису доступне преко типа објаве.

Параметри

ПараметарТипОбавезноОпис
slugstringДаКључ типа објаве који треба уклонити

Враћа { "success": true, "slug": "portfolio" }


Прилагођене таксономије

Ове способности управљају прилагођеним таксономијама. Као и CPT-ови, регистрације таксономија се чувају.

register_taxonomy

Региструје нову прилагођену таксономију.

Параметри

ПараметарТипОбавезноОпис
slugstringДаКључ таксономије (највише 32 знака)
singular_labelstringДаЈеднински назив читљив људима, нпр. Project Category
plural_labelstringДаМножински назив читљив људима, нпр. Project Categories
post_typesarrayДаSlug-ови типова објава за које ова таксономија треба да буде повезана
hierarchicalbooleanНеtrue за стил категорија, false за стил ознака. Подразумевано true
publicbooleanНеДа ли су термини јавно доступни. Подразумевано true
rewrite_slugstringНеURL slug за таксономију. Подразумева се slug

Пример

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

Враћа { "success": true, "slug": "project-category" }


list_taxonomies

Враћа све прилагођене таксономије које је регистровао агент.

Параметри — нема

Враћа

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

delete_taxonomy

Одјављује прилагођену таксономију коју је агент претходно регистровао.

Параметри

ПараметарТипОбавезноОпис
slugstringДаКључ таксономије који треба уклонити

Враћа { "success": true, "slug": "project-category" }


Систем дизајна

Способности система дизајна мењају визуелну презентацију WordPress сајта — од прилагођеног CSS-а до блок шаблона и логотипа сајта.

inject_custom_css

Додаје CSS у <head> сајта преко wp_add_inline_style. CSS се чува у опцији gratis_ai_agent_custom_css и чисто уклања из реда учитавања када се способност ресетује.

Параметри

ПараметарТипОбавезноОпис
cssstringДаВажећи CSS за убацивање
labelstringНеОзнака читљива људима за овај CSS блок, користи се у дневницима за отклањање грешака. Подразумевано "agent-injected"
replacebooleanНеАко је true, замењује сав претходно убачени CSS. Подразумевано false (додаје)

Пример

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

Враћа { "success": true, "bytes": 96 }


add_block_pattern

Региструје поновно употребљив блок шаблон у WordPress библиотеци шаблона.

Параметри

ПараметарТипОбавезноОпис
slugstringДаИдентификатор шаблона, нпр. gratis/hero-dark
titlestringДаНазив шаблона читљив људима, приказан у уређивачу
contentstringДаСеријализована ознака блокова (HTML) за шаблон
categoriesarrayНеSlug-ови категорија шаблона, нпр. ["featured", "hero"]
descriptionstringНеКратак опис приказан у бирачу шаблона
keywordsarrayНеКључне речи за претрагу

Враћа { "success": true, "slug": "gratis/hero-dark" }


list_block_patterns

Наводи све блок шаблоне које је регистровао агент.

Параметри — нема

Враћа

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

Поставља лого WordPress сајта на дати ID прилога или URL удаљене слике. Када је наведен URL, слика се преузима и увози у библиотеку медија.

Параметри

ПараметарТипОбавезноОпис
attachment_idintegerНеID постојећег прилога у библиотеци медија
urlstringНеURL удаљене слике за увоз и постављање као лого

Мора бити наведен један од attachment_id или url.

Враћа { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Примењује именовану предефинисану поставку боја/типографије на theme.json активне теме (или global-styles). Предефинисане поставке су курирани пакети које одржава тим Gratis AI Agent.

Параметри

ПараметарТипОбавезноОпис
presetstringДаНазив предефинисане поставке, нпр. minimal-dark, warm-editorial, corporate-blue
mergebooleanНеАко је true, споји са постојећим вредностима уместо замене. Подразумевано је false

Доступне предефинисане поставке

Предефинисана поставкаОпис
minimal-darkГотово црна позадина, бели текст, једна акцентна боја
warm-editorialТопла прљавобела позадина, серифни наслови, земљане акцентне боје
corporate-blueМорнарскоплава и бела палета са професионалном типографијом
vibrant-startupСветли градијенти, заобљени углови, модерно безсерифно писмо
classic-blogНеутралне сиве, удобна висина реда, традиционални размак распореда

Враћа { "success": true, "preset": "minimal-dark" }


Глобални стилови

Могућности глобалних стилова читају и уписују вредности theme.json кроз WordPress Global Styles API, утичући на све блокове и шаблоне на целом сајту.

get_global_styles

Враћа тренутну конфигурацију глобалних стилова.

Параметри

ПараметарТипОбавезноОпис
pathstringНеJSON показивач на одређену вредност, нпр. /color/palette или /typography/fontSizes. Враћа цео објекат ако је изостављено.

Враћа цео објекат глобалних стилова или вредност на path.


set_global_styles

Ажурира једну или више вредности у конфигурацији глобалних стилова.

Параметри

ПараметарТипОбавезноОпис
pathstringДаJSON показивач на вредност за постављање, нпр. /color/palette
valueanyДаНова вредност

Пример — додајте боју у палету

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

Враћа { "success": true, "path": "/color/palette" }


reset_global_styles

Ресетује све промене глобалних стилова које је применио агент, враћајући подразумеване вредности теме.

Параметри — нема

Враћа { "success": true }


Могућности навигационих менија креирају и управљају WordPress навигационим менијима и њиховим ставкама.

create_menu

Креира нови WordPress навигациони мени.

Параметри

ПараметарТипОбавезноОпис
namestringДаНазив менија, нпр. Primary Navigation
locationstringНеЛокација теме којој треба доделити овај мени, нпр. primary

Враћа { "success": true, "menu_id": 7 }


update_menu

Преименује мени или га поново додељује локацији теме.

Параметри

ПараметарТипОбавезноОпис
menu_idintegerДаID менија за ажурирање
namestringНеНови назив менија
locationstringНеЛокација теме за доделу или поновну доделу

Враћа { "success": true, "menu_id": 7 }


add_menu_item

Додаје ставку у постојећи навигациони мени.

Параметри

ПараметарТипОбавезноОпис
menu_idintegerДаID циљног менија
typestringДаТип ставке: custom, post_type или taxonomy
titlestringНеОзнака за ставку менија (обавезно за тип custom)
urlstringНеURL за custom ставке
object_idintegerНеID објаве или ID термина за post_type/taxonomy ставке
parent_idintegerНеID ставке менија под којом треба угнездити ову ставку
positionintegerНеПозиција у менију заснована на нули

Враћа { "success": true, "item_id": 12 }


remove_menu_item

Уклања ставку из навигационог менија.

Параметри

ПараметарТипОбавезноОпис
item_idintegerДаID ставке менија за уклањање

Враћа { "success": true, "item_id": 12 }


list_menus

Наводи све WordPress навигационе меније, укључујући њихове додељене локације теме.

Параметри — нема

Враћа

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

Управљање опцијама

Могућности опција читају и уписују WordPress опције преко get_option / update_option. Уграђена безбедносна листа блокирања спречава случајну измену критичних подешавања.

get_option

Чита WordPress опцију.

Параметри

ПараметарТипОбавезноОпис
option_namestringДаКључ опције, нпр. blogname

Враћа { "option_name": "blogname", "value": "My Site" }

Враћа грешку ако је option_name на безбедносној листи блокирања.


set_option

Уписује WordPress опцију.

Параметри

ПараметарТипОбавезноОпис
option_namestringДаКључ опције
valueanyДаНова вредност (аутоматски се серијализује за низове/објекте)
autoloadstringНе"yes" или "no". Подразумевано чува постојеће подешавање autoload

Враћа грешку ако је option_name на безбедносној листи блокираних.

Враћа { "success": true, "option_name": "blogname" }


delete_option

Брише WordPress опцију.

Параметри

ПараметарТипОбавезноОпис
option_namestringДаКључ опције за брисање

Враћа грешку ако је option_name на безбедносној листи блокираних.

Враћа { "success": true, "option_name": "my_custom_option" }


list_options

Наводи WordPress опције које одговарају обрасцу.

Параметри

ПараметарТипОбавезноОпис
patternstringНеSQL LIKE образац за филтрирање назива опција, нпр. gratis_%. Враћа све опције ако је изостављено (користите опрезно на великим базама података).
limitintegerНеМаксималан број резултата. Подразумевано 50, максимум 500

Враћа

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

Управљање садржајем

Могућности управљања садржајем креирају и уређују WordPress објаве и странице. ID-еви објава се враћају како би наредни кораци у плановима са више могућности могли да референцирају креирани садржај.

create_post

Креира нову WordPress објаву, страницу или унос прилагођеног типа објаве.

Параметри

ПараметарТипОбавезноОпис
titlestringДаНаслов објаве
contentstringНеТело објаве — прихвата обичан текст, HTML или серијализовану ознаку блокова
statusstringНеdraft, publish, pending, private. Подразумевано draft
post_typestringНеСлаг типа објаве, нпр. post, page или било који регистровани CPT. Подразумевано post
excerptstringНеКратак сажетак приказан у архивама и резултатима претраге
categoriesarrayНеНиз назива категорија или ID-ева за доделу
tagsarrayНеНиз назива ознака или ID-ева за доделу
authorintegerНеWordPress ID корисника који се поставља као аутор објаве. Подразумевано је тренутни корисник
datestringНеДатум објављивања у ISO 8601 формату, нпр. 2026-05-01T09:00:00
page_templatestringНеДатотека шаблона која се додељује овој објави или страници, нпр. page-full-width.php. Има смисла само када је post_type page или CPT који подржава шаблоне страница.

Пример

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

Враћа { "success": true, "post_id": 42, "permalink": "https://example.com/welcome/" }


update_post

Ажурира постојећу WordPress објаву или страницу.

Параметри

ПараметарТипОбавезноОпис
post_idintegerДаID објаве за ажурирање
titlestringНеНови наслов објаве
contentstringНеНово тело објаве
statusstringНеНови статус: draft, publish, pending, private
excerptstringНеНови извод
categoriesarrayНеЗамените пуну листу категорија овим низом назива или ID-ева
tagsarrayНеЗамените пуну листу ознака овим низом назива или ID-ева
page_templatestringНеНова датотека шаблона која се додељује овој објави или страници, нпр. page-full-width.php. Проследите празан стринг да уклоните доделу шаблона и вратите се на подразумевано из теме.

Пример — промените шаблон након креирања

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

Враћа { "success": true, "post_id": 42 }


batch_create_posts

Креира више објава у једном позиву могућности, смањујући број повратних захтева током израде сајта или масовног увоза садржаја. Објаве се креирају редом; ако једна не успе, остале се настављају, а неуспех се пријављује у низу резултата.

Параметри

ПараметарТипОбавезноОпис
postsarrayДаНиз објеката објава, од којих сваки прихвата исте параметре као create_post
stop_on_errorbooleanНеАко је true, заустави обраду након првог неуспеха. Подразумевано false

Пример

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

Враћа

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

Додељује истакнуту слику (сличицу објаве) постојећој објави или страници. Прихвата ID постојећег прилога из Media Library или URL удаљене слике; када је URL наведен, слика се аутоматски преузима и увози.

Параметри

ПараметарТипОбавезноОпис
post_idintegerДаID објаве или странице за ажурирање
attachment_idintegerНеID постојећег прилога из Media Library
urlstringНеURL удаљене слике за увоз и постављање као истакнуте слике
alt_textstringНеАлтернативни текст који се примењује на прилог ако је увезен са URL-а

Мора бити наведен један од attachment_id или url.

Враћа { "success": true, "post_id": 42, "attachment_id": 17 }


create_contact_form

Креира контакт форму користећи активни plugin за форме (Contact Form 7, WPForms, Fluent Forms или Gravity Forms, у зависности од тога који је инсталиран). Враћа shortcode који се може уградити у било коју објаву или страницу.

Параметри

ПараметарТипОбавезноОпис
titlestringДаНазив обрасца приказан у администрацији plugin-а за обрасце
fieldsarrayДаУређена листа поља обрасца (погледајте објекат поља испод)
recipientstringНеEmail адреса за пријем слања. Подразумевано је WordPress администраторски email
subjectstringНеНаслов email поруке. Подржава чуваре места [your-name] и [your-subject] када се користи Contact Form 7
confirmation_messagestringНеПорука приказана после успешног слања. Подразумевано: "Thank you for your message. We'll be in touch soon."

Објекат поља

КључТипОбавезноОпис
namestringДаИнтерни назив поља / машински кључ
labelstringДаЧитљива ознака приказана на обрасцу
typestringДаtext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanНеДа ли поље мора бити попуњено пре слања. Подразумевано false
optionsarrayНеОпције за поља select, checkbox и radio
placeholderstringНеТекст чувара места за уносе текстуалног типа

Пример

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

Враћа

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

Визуелни преглед

Могућности визуелног прегледа омогућавају агенту да сними снимке екрана живих страница и анализира их, омогућавајући аутономни преглед дизајна, поређења пре/после и провере визуелних регресија без потребе за било којим проширењем прегледача.

capture_screenshot

Снима снимак екрана WordPress странице на датој URL адреси користећи серверски headless прегледач. Слика се чува у Media Library и враћа се CDN URL.

Параметри

ПараметарТипОбавезноОпис
urlstringДаПуна URL адреса странице за снимак екрана, нпр. https://example.com/about/
widthintegerНеШирина viewport-а у пикселима. Подразумевано 1280
heightintegerНеВисина viewport-а у пикселима. Подразумевано 800
full_pagebooleanНеСними целу страницу која се може скроловати уместо само viewport-а. Подразумевано false
delay_msintegerНеМилисекунде чекања после учитавања странице пре снимања, корисно за анимирани садржај. Подразумевано 500
labelstringНеЧитљива ознака сачувана са прилогом у Media Library

Враћа

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

compare_screenshots

Узима два снимка екрана и враћа резултат визуелне разлике, као и слику разлике која истиче измењене области. Корисно за потврду да је промена дизајна дала очекивани резултат или за откривање нежељених регресија.

Параметри

ПараметарТипОбавезноОпис
before_urlstringДаURL странице за снимање као стања „пре”
after_urlstringДаURL странице за снимање као стања „после”. Може бити исти URL ако се пореди кроз време
widthintegerНеШирина viewport-а за оба снимања. Подразумевано 1280
thresholdfloatНеПраг разлике пиксела (0.0–1.0). Пиксели у оквиру ове толеранције сматрају се непромењеним. Подразумевано 0.1

Враћа

{
"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 од 0.0 значи да нема видљиве промене; 1.0 значи да је сваки пиксел промењен.


review_page_design

Снима снимак екрана странице и шаље га језичком моделу на визуелну анализу. Враћа структурисану процену која обухвата распоред, типографију, употребу боја и питања приступачности.

Параметри

ПараметарТипОбавезноОпис
urlstringДаПуна URL адреса странице за преглед
focusstringНеЛиста области прегледа раздвојена зарезима које треба нагласити: layout, typography, colour, accessibility, mobile. Подразумевано: све области
widthintegerНеШирина viewport-а. Подразумевано 1280

Враћа

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

Инсталибилне могућности

Регистар инсталибилних могућности омогућава вам да проширите агента додатним пакетима могућности који се дистрибуирају као WordPress plugin-и. Сваки пакет региструје једну или више могућности користећи стандардни API за могућности.

list_available_abilities

Враћа каталог пакета могућности доступних за инсталацију из регистра.

Параметри

ПараметарТипОбавезноОпис
categorystringНеФилтрирај по категорији: ecommerce, seo, media, social, developer

Враћа

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

Преузима и активира пакет способности из регистра.

Параметри

ПараметарТипОбавезноОпис
slugstringДаSlug плагина пакета способности

Враћа { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Упитује регистар способности да пронађе најбољи плагин за описани случај употребе и, опционо, инсталира га.

Параметри

ПараметарТипОбавезноОпис
descriptionstringДаОпис жељене функционалности природним језиком
installbooleanНеАко је true, одмах инсталира препоручени плагин. Подразумевано је false

Пример

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

Враћа

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