能力參考
能力是 Gratis AI Agent 可以在你的 WordPress 安裝中呼叫的原子動作。每項能力都是已註冊的 PHP 類別,會公開 JSON schema — agent 會在執行時讀取此 schema,以了解需要哪些參數以及該能力會回傳什麼。
本頁記錄 Gratis AI Agent v1.9.0 隨附的所有能力。
自訂文章類型
這些能力管理透過 agent 註冊的自訂文章類型(CPT)。註冊資料會持久保存到 WordPress options 資料表,因此在 plugin 停用與重新啟用後仍會保留。
register_post_type
註冊新的自訂文章類型。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 文章類型鍵(最多 20 個字元,不可使用大寫,不可有空格) |
singular_label | string | Yes | 人類可讀的單數名稱,例如 Portfolio Item |
plural_label | string | Yes | 人類可讀的複數名稱,例如 Portfolio Items |
public | boolean | No | 此文章類型是否可公開存取。預設為 true |
supports | array | No | 要支援的功能:title、editor、thumbnail、excerpt、comments、revisions、custom-fields。預設為 ["title","editor"] |
has_archive | boolean | No | 是否啟用文章類型彙整頁面。預設為 false |
menu_icon | string | No | 管理選單圖示的 Dashicons 類別或 URL。預設為 "dashicons-admin-post" |
rewrite_slug | string | No | 文章類型的 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
回傳 agent 註冊的所有自訂文章類型。
參數 — 無
回傳
{
"post_types": [
{
"slug": "portfolio",
"singular_label": "Portfolio Item",
"plural_label": "Portfolio Items",
"public": true
}
]
}
delete_post_type
取消註冊先前由 agent 註冊的自訂文章類型。該類型的既有文章會保留在資料庫中,但不再能透過該文章類型存取。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 要移除的文章類型鍵 |
回傳 { "success": true, "slug": "portfolio" }
自訂分類法
這些能力管理自訂分類法。與 CPT 一樣,分類法註冊資料會持久保存。
register_taxonomy
註冊新的自訂分類法。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 分類法鍵(最多 32 個字元) |
singular_label | string | Yes | 人類可讀的單數名稱,例如 Project Category |
plural_label | string | Yes | 人類可讀的複數名稱,例如 Project Categories |
post_types | array | Yes | 此分類法應附加到的文章類型 slug |
hierarchical | boolean | No | 類別樣式為 true,標籤樣式為 false。預設為 true |
public | boolean | No | 詞彙是否可公開存取。預設為 true |
rewrite_slug | string | No | 分類法的 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
回傳 agent 註冊的所有自訂分類法。
參數 — 無
回傳
{
"taxonomies": [
{
"slug": "project-category",
"singular_label": "Project Category",
"post_types": ["portfolio"],
"hierarchical": true
}
]
}
delete_taxonomy
取消註冊先前由 agent 註冊的自訂分類法。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 要移除的分類法鍵 |
回傳 { "success": true, "slug": "project-category" }
設計系統
設計系統能力會修改 WordPress 網站的視覺呈現 — 從自訂 CSS 到區塊版型與網站標誌。
inject_custom_css
透過 wp_add_inline_style 將 CSS 附加到網站的 <head>。CSS 會儲存在 gratis_ai_agent_custom_css option 中,並在能力重設時乾淨地移出佇列。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
css | string | Yes | 要注入的有效 CSS |
label | string | No | 此 CSS 區塊的人類可讀標籤,用於除錯記錄。預設為 "agent-injected" |
replace | boolean | No | 若為 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 版型庫中註冊可重複使用的區塊版型。
參數
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 版型識別碼,例如 gratis/hero-dark |
title | string | Yes | 編輯器中顯示的人類可讀版型名稱 |
content | string | Yes | 版型的序列化區塊標記(HTML) |
categories | array | No | 版型分類 slug,例如 ["featured", "hero"] |
description | string | No | 版型選擇器中顯示的簡短描述 |
keywords | array | No | 搜尋關鍵字 |
回傳 { "success": true, "slug": "gratis/hero-dark" }
list_block_patterns
列出 agent 註冊的所有區塊版型。
參數 — 無
傳回
{
"patterns": [
{
"slug": "gratis/hero-dark",
"title": "Dark Hero",
"categories": ["hero"]
}
]
}
set_site_logo
將 WordPress 網站標誌設定為指定的附件 ID 或遠端圖片 URL。提供 URL 時,圖片會被下載並匯入媒體庫。
參數
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
attachment_id | integer | 否 | 現有媒體庫附件的 ID |
url | string | 否 | 要匯入並設定為標誌的遠端圖片 URL |
必須提供 attachment_id 或 url 其 中之一。
傳回 { "success": true, "attachment_id": 42 }
apply_theme_json_preset
將具名色彩/排版預設套用至啟用中佈景主題的 theme.json(或 global-styles)。預設是由 Gratis AI Agent 團隊維護的精選套件。
參數
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
preset | string | 是 | 預設名稱,例如 minimal-dark、warm-editorial、corporate-blue |
merge | boolean | 否 | 若為 true,則與現有值合併,而非取代。預設為 false |
可用預設
| 預設 | 說明 |
|---|---|
minimal-dark | 近黑色背景、白色文字、單一強調色 |
warm-editorial | 溫暖的米白背景、襯線標題、泥土色系強調色 |
corporate-blue | 海軍藍與白色調色盤,搭配專業排版 |
vibrant-startup | 明亮漸層、圓角、現代無襯線字體 |
classic-blog | 中性灰階、舒適行高、傳統版面間距 |
傳回 { "success": true, "preset": "minimal-dark" }