mcpField
W
wp-abilities-api

wp-abilities-api

github.com/firecrawl开发543 次安装38 周前更新
代码仓库

关于 wp-abilities-api

面向 WordPress 开发者的 Abilities API 技能,涵盖 PHP 注册、REST 暴露、JavaScript 调用与问题排查。

主要功能

  1. 01注册能力及分类
  2. 02通过 REST 暴露能力
  3. 03在 JavaScript 中调用能力
  4. 04排查可见性与 REST 问题

适用场景

  1. 01为插件或主题添加能力
  2. 02让 REST 客户端发现能力
  3. 03排查 REST 或 JS 中能力缺失

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/firecrawl/agent-skills --skill wp-abilities-api

安装后在 Claude Code 中输入/wp-abilities-api确认已加载。

附带文件references/php-registration.mdreferences/rest-api.md

详细介绍

WP Abilities API

适用场景

遇到以下任务时使用此技能:

  • 在 PHP 中注册能力或能力类别,
  • 通过 REST(wp-abilities/v1)向客户端公开能力,
  • 在 JS 中使用能力(尤其是 @wordpress/abilities),
  • 排查“能力未显示”/“客户端看不到能力”/“REST 返回空结果”。

所需输入

  • 仓库根目录(如果尚未运行,请先运行 wp-project-triage)。
  • 目标 WordPress 版本,以及这是 WP 核心还是插件/主题。
  • 应将更改放在哪里(插件、主题还是 mu-plugin)。

流程

1) 确认可用性和版本限制
  • 如果这是 WP 核心相关工作,请检查 signals.isWpCoreCheckout 和 versions.wordpress.core。
  • 如果项目面向低于 WP 6.9 的版本,可能需要使用 Abilities API 插件/软件包,而不能依赖核心提供的功能。
2) 查找现有的 Abilities 用法

在仓库中搜索以下内容:

  • wp_register_ability(
  • wp_register_ability_category(
  • wp_abilities_api_init
  • wp_abilities_api_categories_init
  • wp-abilities/v1
  • @wordpress/abilities

如果均未找到,请判断你是要全新引入 Abilities API(新增注册并由客户端使用),还是仅使用现有 API。

3) 注册类别(可选)

如果需要进行逻辑分组,请尽早注册能力类别(参见 references/php-registration.md)。

4) 注册能力(PHP)

在 PHP 注册中实现该能力,并包含:

  • 稳定的 id(使用命名空间),
  • label/description,
  • category,
  • meta:
    • 如果该能力用于提供信息,请添加 readonly: true,
    • 对于希望客户端可见的能力,请设置 show_in_rest: true。

使用 Abilities API 文档规定的初始化钩子进行注册,确保其在正确的时机加载(参见 references/php-registration.md)。

5) 确认 REST 公开情况
  • 验证 REST 端点是否存在并返回预期结果(参见 references/rest-api.md)。
  • 如果客户端仍看不到该能力,请确认已启用 meta.show_in_rest,且查询的是正确的端点。
6) 从 JS 使用(如有需要)
  • 优先使用 @wordpress/abilities API 在客户端访问能力并进行检查。
  • 确保构建工具包含该依赖,且项目的构建流程会将其打包。

验证

  • 更改后,wp-project-triage 会显示 signals.usesAbilitiesApi: true(如适用)。
  • REST 检查(在 WP 环境中):wp-abilities/v1 下的端点会在预期情况下返回你的能力和类别。
  • 如果仓库中有测试,请在以下位置附近添加/更新覆盖:
    • PHP:能力注册和元数据公开
    • JS:能力使用和 UI 门控

故障模式/调试

  • 能力始终不显示:
    • 注册代码未运行(钩子错误/文件未加载),
    • 缺少 meta.show_in_rest,
    • 类别/ID 不匹配。
  • REST 显示能力,但 JS 不显示:
    • REST 基础路径/命名空间错误,
    • JS 依赖未打包,
    • 缓存(对象/页面缓存)遮蔽了更改。

升级处理

  • 如果不确定版本支持情况,请确认目标 WP 核心版本,以及 Abilities API 应由核心提供还是作为插件提供。
  • 如需权威细节,请参阅:
    • references/rest-api.md
    • references/php-registration.md

评论

支持 Markdown