SuperAPI AI 工具集

wp-plugin-dev

编程与开发

查看项目

更新于 10-20 16:12

技能介绍

用途:按 WordPress 官方编码标准、安全最佳实践和 WordPress.org 插件目录规范开发可用于正式环境的 WordPress 插件。生成的插件应为模块化、安全、可翻译,并具备提交到 WordPress.org 的条件。

使用方式:技能规定了工作流,开始写代码前先阅读三份参考文件:references/architecture.md(插件结构、各类插件模板)、references/security.md(净化、转义、预处理语句、nonce、缓存)、references/wp-org-guidelines.md(目录 18 条规则);然后向用户收集插件功能需求并判断所需模块,搭建目录结构与引导文件,将每个功能实现为独立的模块化类,同时生成符合 WordPress.org 规范的 readme.txt,最后询问用户将文件交付到 /mnt/user-data/outputs/ 供下载,或写入自定义路径。

主要能力与要求:

  • 主插件文件仅作引导加载器,包含插件头注释、常量(VERSION、PLUGIN_DIR、PLUGIN_URL、PLUGIN_BASENAME)、激活/停用钩子、自动加载或 require_once 语句,以及一个实例化主类的 init 函数;不得在主文件中放置设置注册、短代码处理、AJAX 回调、CPT 注册、钩子回调、模板渲染等任何功能逻辑。
  • 模块化架构:每个独立功能一个类文件,按目录归置——includes/(核心类、共享工具、数据模型)、admin/(后台功能)、public/(前台功能)、blocks/(Gutenberg 区块,各占子目录)、api/(REST API 端点);遵循单一职责,功能超过约 200 行时拆分。
  • 安全:所有用户输入接收时立即净化(如 sanitize_text_field( wp_unslash( $POST['title'] ) ));所有输出在渲染处转义(如 esc_html( $title ));自定义 SQL 一律使用 $wpdb->prepare();所有表单提交和 AJAX 请求校验 nonce,所有特权操作检查权限;昂贵查询和外部 API 调用使用 Transients API 或 wp_cache* 缓存。
  • 编码标准:函数/变量用 snake_case,类用 Upper_Snake_Case;所有函数、类、钩子、选项、瞬态、数据库表加插件前缀;使用 PHPDoc;面向用户的字符串用 _()、e()、esc_html() 等可翻译,文本域与插件 slug 一致;用 wp_enqueue_script()/wp_enqueue_style() 加载资源,不硬编码 script/link 标签;使用 WordPress 自带库(如 jQuery),不自带副本;后台资源仅在插件页面加载(检查 $hook),前台资源仅当页面含插件输出时加载。
  • WordPress.org 合规:GPLv2 或更高版本许可;完整的 readme.txt;提供 uninstall.php 以便干净卸载;不含混淆代码;无未经选择加入的跟踪;不捆绑 WordPress 默认库;代码可读、命名有意义;未经明确同意不嵌入署名链接。
  • 插件类型模式:按用户需求匹配模式,例如设置页(Settings API 设置类,admin/class--settings.php)、自定义文章类型(includes/class--post-types.php)、自定义分类法、短代码(public/class--shortcodes.php)、REST API 端点(api/class--rest-controller.php)、Gutenberg 区块(blocks/{block-name}/,含 block.json 与 JS/React)、WooCommerce 扩展(含依赖检查)、AJAX 处理器、自定义数据库表(dbDelta())、后台通知、Cron 任务、元框、小工具(继承 WP_Widget)等。
  • 命名约定:由插件名推导 slug(小写连字符)、文本域(同 slug)、函数前缀(小写加下划线)、类前缀(Upper_Snake)、常量前缀(UPPER_SNAKE)、选项/瞬态/数据表前缀、钩子名(前缀/名称)、REST 命名空间(slug/v1)、区块命名空间(slug/block);选用由插件名首字母派生的 2–4 字符短前缀。
  • 交付:构建后询问文件位置(下载到 /mnt/user-data/outputs/{plugin-slug}/ 或自定义路径),根目录始终包含 readme.txt,提供生成文件及各模块用途的简要说明;若含 Gutenberg 区块,提示需运行 npm install && npm run build 生成区块资源。
  • 交付前检查清单:主文件仅含引导代码;每个功能独立类文件;所有输入已净化;所有输出已转义;自定义 SQL 均用 $wpdb->prepare();所有表单使用 nonce;所有特权操作检查权限;所有字符串可翻译且文本域正确;函数/类/钩子均有前缀;资源正确入队;后台资源仅在插件页面加载;readme.txt 完整;uninstall.php 处理干净卸载;许可头为 GPLv2 或更高;未捆绑 WP 默认库;昂贵操作使用缓存;激活钩子创建所需数据表;停用钩子清理计划事件。

适用场景:需要从零创建或按规范重构 WordPress 插件,尤其是要上架 WordPress.org、需要满足安全与编码标准、或需要模块化结构(设置页、CPT、短代码、REST、区块、WooCommerce 集成等)的项目。

限制:资料未提供该技能自身的运行环境、支持平台、收费方式、依赖说明或效果保证;交互流程中的需求收集与交付路径选择依赖用户输入;Gutenberg 区块构建需另行执行 npm 命令。