mcpField
W
wp-admin-ui-development

wp-admin-ui-development

github.com/jorgerosal开发11165 次安装20 周前更新
代码仓库

关于 wp-admin-ui-development

面向审查 WordPress 管理界面的技能,适用于检查设置页、仪表盘、表单及相关代码的开发者。重点关注能力权限、WordPress 管理界面模式、反馈和按页面加载资源。

主要功能

  1. 01审查管理菜单注册
  2. 02检查能力权限与 nonce 保护
  3. 03评估 Settings API 和表单处理
  4. 04检查页面专属资源加载
  5. 05审查通知和管理界面体验

适用场景

  1. 01审计插件设置页
  2. 02检查管理屏幕的访问权限
  3. 03排查脚本在所有管理页面加载
  4. 04评估仪表盘中的表单和通知

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jorgerosal/wordpress-skills --skill wp-admin-ui-development

安装后在 Claude Code 中输入/wp-admin-ui-development确认已加载。

附带文件references/admin-ux-patterns.mdreferences/settings-and-screens.md

详细介绍

WordPress 管理界面开发技能

概述

系统地审查 WordPress 管理界面。**核心原则:**管理界面应考虑用户能力、行为可预测,并遵循 WordPress 管理界面的模式,而非采用自定义的应用式行为。审查范围包括菜单注册、屏幕架构、Settings API 用法、通知、脚本和样式加载、列表表格模式,以及管理端 UX 的稳定性。

适用场景

适用于:

  • 审查设置页面或插件仪表板
  • 审计 add_menu_page() / add_submenu_page() 的用法
  • 检查管理界面表单、通知和数据录入屏幕
  • 审查管理界面脚本加载和屏幕定位
  • 分析管理页面的能力检查

不适用于:

  • 前端 UI 审查
  • 仅针对安全性的全面审计(请使用 wp-security-review)
  • 不侧重管理界面的一般插件架构审查(请使用 wp-plugin-development)

代码审查工作流

  1. 识别管理界面

    • 设置页面
    • 仪表板小组件或工具页面
    • 自定义列表表格
    • 大量使用模态框的管理工作流
  2. 审查屏幕注册

    • 菜单 slug、父级 slug、能力
    • 专用回调
    • 屏幕专属的资源入队逻辑
  3. 审查表单和状态流

    • Settings API 或经过审慎考虑的替代方案
    • Nonce 和能力检查
    • 稳定的成功/错误消息
  4. 审查 UX 和可维护性

    • 避免使用庞大的单屏表单
    • 遵循 WordPress 管理界面的布局和组件惯例
    • 仅在相关屏幕加载脚本
  5. 应用严重性分级

    • **CRITICAL:**缺少能力检查、管理操作不受限制、管理屏幕对错误的角色开放
    • **WARNING:**在全局范围加载管理资源、绕过 Settings API、通知 UX 不稳定、屏幕过于庞大
    • **INFO:**可使用核心组件,或将屏幕拆分得更清晰

文件类型专项检查

管理菜单注册
  • CRITICAL:缺少能力要求
  • WARNING:菜单回调混合处理路由、渲染和表单
  • INFO:可将大型屏幕移至单独的类或模块
设置表单
  • CRITICAL:保存时缺少 nonce 或能力检查
  • WARNING:到处手动调用 update_option(),没有采用 Settings API 结构
  • WARNING:设置没有清理回调
  • INFO:可将设置拆分为多个区段/标签页,以提高可维护性
管理脚本和样式
  • WARNING:在每个管理屏幕都加载脚本
  • WARNING:大型功能使用内联 JS
  • INFO:可使用屏幕 ID 和条件式资源入队
通知和反馈
  • WARNING:持久通知没有关闭处理
  • WARNING:成功/错误状态与实际操作结果无关
  • INFO:可使用更清晰的空状态/加载状态

快速检测的搜索模式(ADM-21)

使用以下 rg 命令快速扫描管理界面。

CRITICAL 模式
# Admin page registration
rg -n "add_menu_page|add_submenu_page|add_options_page|add_management_page" . -g '*.php'

# Admin-post handlers and nonces
rg -n "admin_post_|check_admin_referer|wp_verify_nonce|current_user_can" . -g '*.php'
WARNING 模式
# Global admin enqueues
rg -n "admin_enqueue_scripts|wp_enqueue_script|wp_enqueue_style" . -g '*.php'

# Direct option updates in admin pages
rg -n "update_option|add_option" . -g '*.php'

# Admin notices
rg -n "admin_notices|notice-|is-dismissible" . -g '*.php'
INFO 模式
# Settings API usage
rg -n "register_setting|add_settings_section|add_settings_field" . -g '*.php'

# Screen targeting helpers
rg -n "get_current_screen|current_screen|\$hook_suffix" . -g '*.php'

参考文件

  • references/settings-and-screens.md - 设置页面、屏幕注册和管理屏幕结构
  • references/admin-ux-patterns.md - 通知、管理脚本、标签页、列表表格和 UX 预期

输出格式(ADM-23)

对于每项发现,请包含严重性、文件引用、问题摘要、对管理界面的影响,以及具体的修复建议。请指出问题主要涉及安全、架构还是 UX,以便后续审查能轻松分派。

评论

支持 Markdown