SuperAPI AI 工具集

wp-abilities-api

编程与开发

查看项目

更新于 10-16 05:45

技能介绍

用途:处理 WordPress Abilities API 相关任务,包括在 PHP 中注册能力(ability)与能力分类、通过 REST 暴露能力、在 JavaScript 中消费能力,以及诊断“能力不显示”“客户端看不到能力”等问题。

主要能力与用法:

  1. 注册能力分类:在 wp_abilities_api_categories_init 钩子中调用 wp_register_ability_category,传入分类 ID 及 label、description。
  2. 注册能力:在 wp_abilities_api_init 钩子中调用 wp_register_ability,传入能力 ID(如 my-plugin/can-export)及 label、description、category、meta。meta 支持 readonly(为 true 时仅作信息展示)、show_in_rest(为 true 时经 REST 暴露)、default(默认值)。
  3. PHP 中检查:使用 current_user_has_ability('my-plugin/can-export') 判断当前用户是否具备该能力。
  4. REST 暴露:设置 show_in_rest 为 true 后,可访问 GET /wp-json/wp-abilities/v1/abilities、GET /wp-json/wp-abilities/v1/abilities/my-plugin%2Fcan-export、GET /wp-json/wp-abilities/v1/categories。
  5. JS 消费:从 @wordpress/abilities 导入 store、useAbility,用 useAbility('my-plugin/can-export') 判断能力。

验证与调试:可用 curl 请求 REST 端点(需 Bearer Token);用 wp eval 'print_r(wp_get_abilities());' 检查注册;用 wp rest get /wp-abilities/v1/abilities 直接检查接口。常见失败原因:注册代码未运行(钩子错误或文件未加载)、缺少 meta.show_in_rest、分类或 ID 不匹配;REST 可见但 JS 不可见时,检查 REST 命名空间、JS 依赖是否打包、对象或页面缓存。

限制:资料未提供具体支持的 WordPress 版本、Abilities API 是否已进入核心或需插件、安装命令及收费信息,这些暂未提供。