SuperAPI AI 工具集

wp-interactivity-api

编程与开发

查看项目

更新于 10-15 16:46

技能介绍

用途:在构建或调试 WordPress Interactivity API 功能时使用,涵盖 data-wp-* 指令(如 data-wp-interactive、data-wp-on--、data-wp-bind--、data-wp-context)、@wordpress/interactivity 的 store/state/actions、block viewScriptModule 模块化视图脚本,以及水合问题和指令不触发等排查。

主要能力:识别现有集成方式(区块的 block.json 视图脚本模块、主题级交互、插件增强既有标记三类);定位 store 定义并确认 state 结构、actions 与事件处理回调;安全地实现或修改指令;对齐构建工具链;调试常见失败模式;做验证与提出升级建议。

使用方式:需要仓库根目录与 wp-project-triage 的分诊输出、受影响的区块/主题/插件面(前端、编辑器或两者)、以及 WP 版本和构建是否支持模块等约束。先搜索 data-wp-interactive、@wordpress/interactivity、viewScriptModule 判断集成风格;若新建交互区块,优先使用官方脚手架 @wordpress/create-block-interactive-template(经 @wordpress/create-block)。修改标记指令时保持指令最少且作用域明确,优先使用可清晰映射到 store state 的稳定数据属性,确保服务端渲染标记与客户端水合一致。验证方式包括 wp-project-triage 显示 signals.usesInteractivityApi: true、手动冒烟测试,以及用 Playwright 扩展交互路径 E2E 测试。

适用场景与限制:适合区块、主题与插件的交互功能开发与排障。WordPress 6.9 中 data-wp-ignore 已弃用并将在未来版本移除,应避免使用;同一元素可用 --- 分隔符存在多个同类型指令;新增 TypeScript 类型 AsyncAction<ReturnType> 与 TypeYield<T>;客户端导航时 getServerState() 与 getServerContext() 会在页面切换间重置,不应假设旧值持久;路由区域支持 attachTo 动态渲染覆盖层。若仓库构建约束不明,需确认使用 @wordpress/scripts 还是自定义打包器。其他细节暂未提供。