Abilities 참조
Abilities는 Gratis AI Agent가 사용자의 WordPress 설치에서 호출할 수 있는 원자적 작업입니다. 각 ability는 JSON 스키마를 노출하는 등록된 PHP 클래스입니다. agent는 런타임에 이 스키마를 읽어 어떤 매개변수가 필요한지, ability가 무엇을 반환하는지 이해합니다.
이 페이지는 Gratis AI Agent v1.9.0에 포함되어 제공되는 모든 abilities를 문서화합니다.
사용자 정의 글 유형
이 abilities는 agent를 통해 등록된 사용자 정의 글 유형(CPT)을 관리합니다. 등록 정보는 WordPress 옵션 테이블에 유지되므로 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가 이전에 등록한 사용자 정의 글 유형의 등록을 해제합니다. 해당 유형의 기존 글은 database에 남아 있지만 더 이상 글 유형을 통해 접근할 수 없습니다.
매개변수
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 제거할 글 유형 키 |
반환값 { "success": true, "slug": "portfolio" }
사용자 정의 분류
이 abilities는 사용자 정의 분류를 관리합니다. 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" }
디자인 시스템
디자인 시 스템 abilities는 사용자 정의 CSS부터 block 패턴과 site 로고까지 WordPress site의 시각적 표현을 수정합니다.
inject_custom_css
wp_add_inline_style을 통해 site의 <head>에 CSS를 추가합니다. CSS는 gratis_ai_agent_custom_css 옵션에 저장되며 ability가 재설정될 때 깔끔하게 대기열에서 제거됩니다.
매개변수
| Parameter | Type | Required | Description |
|---|---|---|---|
css | string | Yes | 삽입할 유효한 CSS |
label | string | No | 이 CSS 블록의 사람이 읽을 수 있는 label로, debug logs에서 사용됩니다. 기본값 "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 패턴 라이브러리에 재사용 가능한 block 패턴을 등록합니다.
매개변수
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | 패턴 식별자, 예: gratis/hero-dark |
title | string | Yes | 편집기에 표시되는 사람이 읽을 수 있는 패턴 이름 |
content | string | Yes | 패턴용 직렬화된 block 마크업(HTML) |
categories | array | No | 패턴 카테고리 slug, 예: ["featured", "hero"] |
description | string | No | 패턴 선택기에 표시되는 짧은 설명 |
keywords | array | No | 검색 키워드 |
반환값 { "success": true, "slug": "gratis/hero-dark" }
list_block_patterns
agent가 등록한 모든 block 패턴을 나열합니다.
매개변수 — 없음
반환값
{
"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" }
전역 스타일
전역 스타일 기능은 WordPress 전역 스타일 API를 통해 theme.json 값을 읽고 쓰며, 사이트 전체의 모든 블록과 템플릿에 영향을 줍니다.
get_global_styles
현재 전역 스타일 구성을 반환합니다.
매개변수
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
path | string | 아니요 | 특정 값에 대한 JSON 포인터, 예: /color/palette 또는 /typography/fontSizes. 생략하면 전체 객체를 반환합니다. |
반환값 전체 전역 스타일 객체 또는 path의 값입니다.
set_global_styles
전역 스타일 구성에서 하나 이상의 값을 업데이트합니다.
매개변수
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
path | string | 예 | 설정할 값에 대한 JSON 포인터, 예: /color/palette |
value | any | 예 | 새 값 |
예시 — 팔레트에 색상 추가
{
"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 }