开发编程
#api
wp-rest-api
Use when building, extending, or debugging WordPress REST API endpoints/routes: register_rest_route, WP_REST_Controller/controller classes, schema/argument validation, permission_callback/authentication, response shaping, register_rest_field/register_meta, or exposing CPTs/taxonomies via show_in_rest.
DeepseekModel
官方收录技能
质量 优秀 · 90
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=wordpress-agent-skills-skills-wp-rest-api-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name wp-rest-api description Use when building, extending, or debugging WordPress REST API endpoints/routes: register_rest_route, WP_REST_Controller/controller classes, schema/argument validation, permission_callback/authentication, response shaping, register_rest_field/register_meta, or exposing CPTs/taxonomies via show_in_rest. compatibility Targets WordPress 7.0+ (PHP 7.4.0+). Filesystem-based agent with bash + node. Some workflows require WP-CLI. WP REST API When to use Use this skill when you need to: create or update REST routes/endpoints debug 401/403/404 errors or permission/nonce issues add custom fields/meta to REST responses expose custom post types or taxonomies via REST implement schema + argument validation adjust response links/embedding/pagination Inputs required Repo root + target plugin/theme/mu-plugin (path to entrypoint). Desired namespace + version (e.g. my-plugin/v1 ) and routes. Authentication mode (cookie + nonce vs application passwords vs auth plugin). Target WordPress version constraints (if below 7.0, call out). Procedure 0) Triage and locate REST usage Run triage: node skills/wp-project-triage/scripts/detect_wp_project.mjs Search for existing REST usage: register_rest_route WP_REST_Controller rest_api_init show_in_rest , rest_base , rest_controller_class If this is a full site repo, pick the specific plugin/theme before changing code. 1) Choose the right approach Expose CPT/taxonomy in wp/v2 : Use show_in_rest => true + rest_base if needed. Optionally provide rest_controller_class . Read references/custom-content-types.md . Custom endpoints: Use register_rest_route() on rest_api_init . Prefer a controller class ( WP_REST_Controller subclass) for anything non-trivial. Read references/routes-and-endpoints.md and references/schema.md . 2) Register routes safely (namespaces, methods, permissions) Use a unique namespace vendor/v1 ; avoid wp/* unless core. Always provide permission_callback (use __return_true for public endpoints). Use WP_REST_Server::READABLE/CREATABLE/EDITABLE/DELETABLE constants. Return data via rest_ensure_response() or WP_REST_Response . Return errors via WP_Error with an explicit status . Read references/routes-and-endpoints.md . 3) Validate/sanitize request args Define args with type , default , required , validate_callback , sanitize_callback . Prefer JSON Schema validation with rest_validate_value_from_schema then rest_sanitize_value_from_schema . Never read $_GET / $_POST directly inside endpoints; use WP_REST_Request . Read references/schema.md . 4) Responses, fields, and links Do not remove core fields from default endpoints; add fields instead. Use register_rest_field for computed fields; register_meta with show_in_rest for meta. For object / array meta, define schema in show_in_rest.schema . If you need unfiltered post content (e.g., ToC plugins injecting HTML), request ?context=edit to access content.raw (auth required). Pair with _fields=content.raw to keep responses small. Add related resource links via WP_REST_Response::add_link() . Read references/responses-and-fields.md . 5) Authentication and authorization For wp-admin/JS: cookie auth + X-WP-Nonce (action wp_rest ). For external clients: application passwords (basic auth) or an auth plugin. Use capability checks in permission_callback (authorization), not just “logged in”. Read references/authentication.md . 6) Client-facing behavior (discovery, pagination, embeds) Ensure discovery works ( Link header or <link rel="https://api.w.org/"> ). Support _fields , _embed , _method , _envelope , pagination headers. Remember per_page is capped at 100. Read references/discovery-and-params.md . Verification /wp-json/ index includes your namespace. OPTIONS on your route returns schema (when provided). Endpoint returns expected data; permission failures return 401/403 as appropriate. CPT/taxonomy routes appear under wp/v2 when show_in_rest is true. Run repo lint/tests and any PHP/JS build steps. Failure modes / debugging 404: rest_api_init not firing, route typo, or permalinks off (use ?rest_route= ). 401/403: missing nonce/auth, or permission_callback too strict. _doing_it_wrong for missing permission_callback : add it (use __return_true if public). Invalid params: missing/incorrect args schema or validation callbacks. Fields missing: show_in_rest false, meta not registered, or CPT lacks custom-fields support. Escalation If version support or behavior is unclear, consult the REST API Handbook and core docs before inventing patterns.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |