
WordPress Agent Skills 插件开发实战架构、钩子与安全防护基线完整清单【免费下载链接】agent-skillsExpert-level WordPress knowledge for AI coding assistants - blocks, themes, plugins, and best practices项目地址: https://gitcode.com/gh_mirrors/agents/agent-skillsWordPress Agent Skillsagent-skills是一个为 AI 编程助手注入专家级 WordPress 知识的开源技能包涵盖插件开发、区块、主题与最佳实践。本文聚焦其中的wp-plugin-development 插件开发技能带你快速掌握可预测的插件架构、激活/停用/卸载生命周期钩子以及一套发布前必查的安全防护基线清单——即使你是新手也能照单落地。为什么插件开发需要 Agent SkillsAI 助手写 WordPress 插件时经常翻车️ 生成过时的开发模式忽略现代 API漏掉关键的安全防护nonce、能力检查、转义 钩子注册位置不对激活钩子静默失效wp-plugin-development 技能 把这些专家直觉变成了可执行的流程和检查清单让 AI 助手按标准步骤工作而不是靠猜。如果需要在本地体验完整技能库可克隆仓库https://gitcode.com/gh_mirrors/agents/agent-skills然后在项目内执行npx skills add WordPress/agent-skills --skill wp-plugin-development一键安装到当前项目。快速上手先定位再动手技能的第一步永远是分诊而不是直接写代码运行 wp-project-triage 检测脚本自动识别项目类型、工具链与版本运行 detect_plugins.mjs 插件检测脚本扫描所有 PHP 文件头确定性地列出仓库中每个插件的主文件与元信息这样能避免在站点仓库里改错了插件的经典错误。可预测的插件架构单入口 钩子加载架构原则很朴素但坚持下去能少踩 90% 的坑详见 structure.md原则说明 单一引导入口主插件文件只放插件头和引导逻辑⚡ 避免文件加载期副作用重活交给钩子别在 require 时执行 专用加载器类用一个 loader/class 统一注册钩子️ 管理后台代码隔离后台逻辑放在is_admin()或 admin 钩子后降低前台开销生命周期钩子激活、停用与卸载的正确姿势激活钩子是最脆弱的环节详见 lifecycle.md✅ 激活/停用钩子必须注册在主文件顶层作用域不能塞进其他钩子里✅ 只在必要时刷新重写规则且必须先注册自定义内容类型/规则再刷新✅ 卸载要显式且安全推荐uninstall.php或register_uninstall_hook✅ 破坏性清理前先检查WP_UNINSTALL_PLUGIN常量防止误删数据常见故障激活钩子不触发十有八九是没在顶层注册、主文件路径写错或插件是整网network激活的。设置页与选项Settings API 三件套给插件加设置页优先使用 Settings API 而非手写表单详见 settings-api.mdregister_setting()— 注册选项并指定sanitize_callback做净化add_settings_section()— 划分设置区块add_settings_field()— 添加具体字段三条护栏 设置页的展示与保存都做能力检查通常用manage_options 保存时依赖sanitize_callback验证/净化数据️ 输出时用esc_attr()/esc_html()等函数转义设置保存不上去的三大原因忘记register_setting()、选项组与表单不匹配、或 nonce/能力检查失败——详见 debugging.md。安全防护基线清单发布前逐项打勾 ✅这是整个技能中最重要的部分详见 security.md。核心黄金法则只有一句输入时净化sanitize/validate输出时转义escape。Nonce 能力检查双保险缺一不可️Nonce 防的是 CSRF跨站请求伪造不防越权✅ 必须搭配current_user_can()能力检查做授权 不要整个处理$_POST/$_GET数组只读取明确的键 净化前对$_POST数据使用wp_unslash()仓库中配套的评估场景 plugin-security-nonce-and-capability.json 正是针对只查了 nonce 没查能力这一高频漏洞的标准修复流程。按上下文选择转义函数输出上下文转义函数HTML 文本esc_html()HTML 属性esc_attr()URLesc_url()textareaesc_textarea()JavaScript 字符串esc_js() 用户提供的 HTML输出前用wp_kses_post()或wp_kses()限制允许的标记 JSON 数据优先wp_json_encode() WordPress 脚本 API 注入️ SQL一律使用$wpdb-prepare()预处理禁止字符串拼接用户输入AJAX 处理器的安全假设wp_ajax_*验证 nonce并检查能力wp_ajax_nopriv_*直接假设来路是未认证的攻击者按最坏情况处理用wp_send_json_success()/wp_send_json_error()返回且绝不泄露私有数据数据、定时任务与升级路径来自>插件激活无致命错误、无 notice 警告设置可正常保存与读取且能力 nonce 双重强制卸载只清理应删的数据不多删若插件带 JS 资产跑一遍 lint/测试与前端构建更多配套场景可参考 plugin-add-settings-page.json新增设置页与 plugin-add-uninstall-cleanup.json卸载清理。写在最后架构保持可预测、钩子注册守规矩、安全基线逐条过——这三件事做好你的 WordPress 插件就已经跑赢了大多数翻车现场。把 wp-plugin-development 技能 装进你的 AI 助手让这些护栏自动成为它写代码时的默认行为吧 【免费下载链接】agent-skillsExpert-level WordPress knowledge for AI coding assistants - blocks, themes, plugins, and best practices项目地址: https://gitcode.com/gh_mirrors/agents/agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考