RyeBlogRye

插件开发指南

2026-08-22 · 知识库

目录结构

usr/plugins/my-plugin/
├── Plugin.php        # 主类(类名 Plugin_my_plugin),静态方法
├── admin/            # 后台页面(可选)
├── assets/           # 静态资源
└── README.md

Plugin.php 生命周期

class Plugin_my_plugin {
    public static function activate()   { /* 建表/装选项 */ }
    public static function deactivate() { /* 清理(先备份) */ }
    public static function init()       { /* 注册钩子(可选) */ }
}

插件类名必须为 Plugin_<目录名>;启用/停用时系统调用 activate/deactivate;init 在每次请求插件启用态下调用。

钩子(doHook)

后台菜单注册(规范)

核心导航只放核心功能,插件能力由插件自己注册:

public static function admin_menu_settings() {
    // 返回 
  • <a class="admin-nav-sub-link" ...>…</a></li> } // 方法名 admin_menu_<组key>:dashboard / content / appearance / plugins / settings
  • 核心渲染每组菜单时自动 doHook('admin_menu_<组key>') 注入;插件未启用 → 菜单不显示。

    双语规范

    云端打包发布

    php tools/cli_pack.php <插件目录>   # 产出 zip + manifest 条目
    # 上传到仓库 cloud/ 目录即可被客户端检索安装
    ← 性能优化指南(百万级经验) 主题开发指南 →