Преминете към основното съдържание

Справочник на способности

Способностите са атомарните действия, които Gratis AI Agent може да изпълнява в вашата инсталация на WordPress. Всяка способност е регистриран PHP клас, който излага JSON схема — агентът четенето тази схема по време на работа за да разбере какви параметри са необходими и какво връща способността.

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


Custom Post Types (Потребителски типове съдържание)

Тези способности управляват потребителските типове съдържание (CPT), регистрирани чрез агента. Регистрациите се запазват в таблицата за опции на WordPress, така че остават дори след деактивиране и реактивиране на плагината.

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


Кастомни таксономии (Custom Taxonomies)

Тези функции управляват кастомните таксономии. Подобно на CPT-тата, регистрирането на таксономии се запазва в базата данни.

register_taxonomy

Регистрира нова кастомна таксономия.

Параметри

ПараметърТипИзисква лиОписание
slugstringДаКлючът на таксономията (максимум 32 знака)
singular_labelstringДаЧетово име за един елемент, например Категория на проект
plural_labelstringДаМножествено име за елементи, например Категории на проекти
post_typesarrayДаСлаговете на типове пост към които трябва да бъде прикрепена тази таксономия
hierarchicalbooleanНеtrue за стил на категории (категорийни), false за стил на тагове. Дефолтът е true
publicbooleanНеДали термите са публично достъпни. Дефолтът е true
rewrite_slugstringНеURL слаг за таксономията. По подразбиране е 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": "Категория на проект",
"post_types": ["portfolio"],
"hierarchical": true
}
]
}

delete_taxonomy

Деактивира (премахва регистрацията) кастомна таксономия, която е била регистрирана от агента.

Параметри

ПараметърТипИзисква лиОписание
slugstringДаКлючът на таксономията за премахване

Връщане { "success": true, "slug": "project-category" }


Design System

Способностите за Design System променят визуалното представяне на сайта – от кастомния 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НеСлагове на категориите на шаблони, например ["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, изображението се сваля и импортира в Библиотеката на медии (Media Library).

Параметри

ПараметърТипИзисква лиОписание
attachment_idintegerНеID на съществуващо прикрепено изображение в Библиотеката на медии
urlstringНеОтдалечен URL към изображение, което трябва да бъде импортирано и зададено като лого

Трябва да се предостави един от attachment_id или url.

Връщане { "success": true, "attachment_id": 42 }


apply_theme_json_preset

Прилага преглед (preset) с име към настройките за цвят/типографика в theme.json (или global-styles) на активната тема. Прегледите са пакети, поддържани от екипа на Gratis AI Agent.

Параметри

ПараметърТипИзисква лиОписание
presetstringДаИме на прегледа, например minimal-dark, warm-editorial, corporate-blue
mergebooleanНеАко е true, слива се с вече съществуващите стойности вместо замяна. Дефолтът е false

Достъпни прегледи

ПрегледОписание
minimal-darkПрактически черен фон, бяв текст, един акцентен цвят
warm-editorialТопъл бял фон, шрифтове с засечки (serif), земни акцентни цветове
corporate-blueСиня и бяла палитра с професионална типография
vibrant-startupЯрки градиенти, заглавници с заглавени ъгли, съвременен шрифт без засечки (sans-serif)
classic-blogНейтрални сиви тонове, удобна линия на текста, традиционно разполагане на интервалите

Връщане { "success": true, "preset": "minimal-dark" }


Global Styles (Глобални стилове)

Способностите за Глобални стилове четят и записват стойности в 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 }


Навигационни менюта (Navigation Menus)

Способностите за Навигационни Меню създават и управляват менютата за навигация в 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 на поста или термин за елементи от типа post_type/taxonomy
parent_idintegerНеID на елемента в менюто, под който се групира този елемент
positionintegerНеПозиция (от 0) в менюто

Връщане { "success": true, "item_id": 12 }


remove_menu_item

Премахва елемент от меню за навигация.

Параметри

ПараметърТипИзисква лиОписание
item_idintegerДаID на елемента в менюто, който трябва да се премахне

Връщане { "success": true, "item_id": 12 }


list_menus

Извежда всички навигационни менюта в WordPress, включително им назначените локации в тема.

Параметри — лични (няма)

Връщане

Управление опциите (Options Management)

Способността за четене и запис на 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". По подразбиране запазва текущата настройка на автозареждане

Връща грешка, ако 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
}

Управление на съдържанието (Content Management)

Способностите за управление на съдържанието създават и редактират публикации и страници в WordPress. Се извлича ID-тата на публикациите, за да могат следващите стъпки в плановете с множество способности да се отнасят до създадения контент.

create_post

Създава нова публикация, страница или запис за произволен тип пост (custom post type).

Параметри

ПараметърТипИзисква лиОписание
titlestringДаЗаглавие на поста
contentstringНеТекст на поста – приема обикновен текст, HTML или сериализиран блок маркер
statusstringНеdraft, publish, pending, private. Дефолтът е draft
post_typestringНеSlug на типа пост, например 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": "Добре дошли в нашия нов сайт",
"content": "<!-- wp:paragraph --><p>Здравейте!</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": "За нас",
"post_type": "page",
"status": "publish",
"page_template": "page-full-width.php"
},
{
"title": "Услуги",
"post_type": "page",
"status": "publish"
},
{
"title": "Контакти",
"post_type": "page",
"status": "publish"
}
]
}

**Връщане**

```json
{
"created": 3,
"failed": 0,
"results": [
{ "success": true, "post_id": 42, "title": "За нас" },
{ "success": true, "post_id": 43, "title": "Услуги" },
{ "success": true, "post_id": 44, "title": "Контакти" }
]
}

Поставя снимка за преглед (миниатюра на поста или страниците) на съществуващ пост или страница. Приема 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

Создает форму обратной связи, используя активный плагин (Contact Form 7, WPForms, Fluent Forms или Gravity Forms, в зависимости от того, какой установлен). Возвращает шорткод, который можно вставить в любой пост или страницу.

Параметры

ПараметрТипОбязательноОписание
titlestringДаИмя формы, отображаемое в админке плагина формы
fieldsarrayДаУпорядоченный список полей формы (см. объект Field ниже)
recipientstringНетАдрес электронной почты для получения сообщений. По умолчанию — почта администратора WordPress
subjectstringНетТема письма. Поддерживает плейсхолдеры [ваше-имя] и [ваша-тема] при использовании Contact Form 7
confirmation_messagestringНетСообщение, отображаемое после успешной отправки. По умолчанию: "Спасибо за ваше сообщение. Мы скоро с вами свяжемся."

Объект поля (Field object)

КлючТипОбязательноОписание
namestringДаВнутреннее имя поля / машинный ключ
labelstringДаЧеловекочитаемое название, отображаемое на форме
typestringДаtext, email, tel, textarea, select, checkbox, radio, file, date
requiredbooleanНетТребуется ли заполнение поля перед отправкой. По умолчанию false
optionsarrayНетОпции для полей select, checkbox и radio
placeholderstringНетТекст-заполнитель для текстовых полей ввода

Пример

{
"title": "Запит за резервация в ресторан",
"fields": [
{ "name": "your-name", "label": "Име", "type": "text", "required": true },
{ "name": "your-email", "label": "Емейл", "type": "email", "required": true },
{ "name": "party-size", "label": "Размер на групата", "type": "select", "options": ["1–2", "3–5", "6–10", "10+"] },
{ "name": "your-message", "label": "Особени заявки", "type": "textarea", "required": false }
],
"recipient": "[email protected]",
"subject": "Нов запит за резервация от [your-name]"
}

Връщане

{
"success": true,
"form_id": 3,
"shortcode": "[contact-form-7 id=\"3\" title=\"Запит за резервация в ресторан\"]"
}

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

Способностите за визуален преглед позволяват на агента да снима скриншоти от живи страници и да ги анализира, което улеснява автономния дизайн преглед, сравнения преди/след и проверки за визуална регресия без нужда от разширения за браузъра.

capture_screenshot

Снима скриншот на страница в WordPress по зададена URL чрез сървърно-страничен (headless) браузър. Изображението се запазва във Media Library, а се връща URL с CDN.

Параметри

ПараметърТипИзисква сеОписание
urlstringДаПълна URL на страницата, която ще бъде скратшотена, например https://example.com/about/
widthintegerНеШирина на прозореца в пиксели. Дефолт 1280
heightintegerНеВисочина на прозореца в пиксели. Дефолт 800
full_pagebooleanНеЗаснема цялата пролистваема страница вместо само прозореца. Дефолт 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

Приема две снимки и връща визуален резултат от сравнение (diff score) плюс изображение с разлика (diff image), което подчертава променените региони. Полезно за потвърждаване, че промяната в дизайна е довела до очаквания резултат или за откриване на нежелани регресии.

Параметри

ПараметърТипИзисква лиОписание
before_urlstringДаURL на страницата, която да бъде заснета като "предишна" състояние.
after_urlstringДаURL на страницата, която да бъде заснета като "следващо" състояние. Може да е същият URL при сравняване във времето.
widthintegerНеШирина на прозореца за двете снимки. Дефолтът е 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

Заснема скриншот на страница и го изпраща към модела за езикова обработка за визуален анализ. Връща структурирана оценка, която обхваща структурата (layout), типографиката, използването на цветове и проблеми с достъпността (accessibility).

Параметри

ПараметърТипИзисква лиОписание
urlstringДаПълният URL на страницата за преглед.
focusstringНеЗаредена списък от области за преглед, които трябва да бъдат подчертани с запетая: layout, typography, colour, accessibility, mobile. Дефолт: всички области.
widthintegerНеШирина на прозореца. Дефолтът е 1280.

Връщане

Установяеми способности

Регистърът за установяеми способности (Installable Abilities Registry) ви позволява да разширите агента с допълнителни пакети от способности, които са разпределени като WordPress плагини. Всеки пакет регистрира една или повече способности чрез стандартния API за способности.

list_available_abilities

Връща каталога на пакетите от способности, достъпни за инсталиране от регистратора.

Параметри

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

Връщане

install_ability

Зарежда и активира пакет с възможности (ability pack) от регистъра.

Параметри

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

Връщане { "success": true, "slug": "gratis-ai-agent-woocommerce", "abilities_added": 3 }


recommend_plugin

Задава заявка към регистъра на възможностите, за да намери най-добрия плагин за описания случай на употреба и, опционално, го инсталира.

Параметри

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

Пример

{
"description": "Мне трябва контактна форма с поддръжка за качване на файлове и защита от спам",
"install": false
}

Връщане

{
"recommendation": {
"slug": "contact-form-7",
"name": "Contact Form 7",
"reason": "Широко използвани, поддържа качване на файлове и се интегрира с Akismet за филтриране на спам.",
"alternatives": ["wpforms-lite", "fluent-forms"]
}
}