用途:这是一个面向 WordPress 区块开发的技能(skill),适用于从零创建新区块。资料明确说明:仅在新创建区块时使用,修改已有区块时不要使用。
主要能力与规范:始终在当前文件夹生成区块;PHP 开标签前不留空格,任何文件末尾不得超过一个空行;必须使用 block props 以保证区块在画布中可选中;区块名称 slug 一律小写;最后一个 PHP 开标签保持不闭合;不得生成超出标准 WordPress 区块范围的代码(如 REST 控制器、PHP 类等);除非用户特别要求前后端行为不同,否则优先让区块前后端行为一致;不要在编辑器中用占位符;主动添加检查器或区块工具栏控件以增强交互与可定制性;PHP 函数不得重复声明,需用 function_exists 保护;不要额外创建长篇文档或安装说明的 markdown 文件;确保区块正确注册以便前端渲染;尽量使用 @wordpress/block-editor 的 InnerBlocks 组件。
交互式区块:当区块需要前端交互(点击、开关、手风琴、模态框、轮播、计数器、标签页、搜索过滤)时,区块也必须是动态的(使用 render.php,不用 save.js);在 view.js 中使用普通 JavaScript 与标准 DOM API(querySelector、addEventListener、classList 等),明确不使用 WordPress Interactivity API;block.json 中使用 "viewScript": "file:./view.js"(不是 viewScriptModule);render.php 中使用标准 HTML 属性与 CSS 类供 JavaScript 定位;在区块外层用 data-* 属性向 JavaScript 传递服务端值。
使用方式:生成区块文件前,先阅读本技能文件旁 references/ 目录下的相关参考。artefact-templates.md 为必需且须最先阅读,其中包含精确文件模板、正确路径、资源引用与构建流程细节,必须严格遵循;file-templates.md 为各区块文件类型的补充指南;inner-blocks.md 用于区块使用 InnerBlocks 或子区块时;dynamic-vs-static.md 用于决定动态、静态或交互式渲染方案;interactivity-api.md 用于创建需要前端 JavaScript 的交互式区块。
适用场景:新建标准 WordPress 区块,尤其是需要前端交互的动态区块。限制:不适用于修改已有区块,不得生成标准区块之外的代码,不创建额外文档文件,交互式区块不使用 Interactivity API。资料未提供具体命令、价格或平台支持信息。