ThemePluginManager - 插件与主题管理器
功能简介
为 Typecho 后台提供插件和主题的上传安装与卸载管理功能。
核心功能
- 插件上传安装:通过 ZIP 文件上传安装插件到
usr/plugins/目录 - 主题上传安装:通过 ZIP 文件上传安装主题到
usr/themes/目录 - 插件卸载:在后台一键卸载插件(自动先禁用再删除文件)
- 主题卸载:在后台一键卸载主题(当前使用中的主题不可卸载)
系统要求
- Typecho 1.2+
- PHP 7.4+
- PHP ZipArchive 扩展(用于 ZIP 文件处理)
- 管理员权限
安装方法
- 将
ThemePluginManager目录上传到usr/plugins/目录下 - 登录 Typecho 后台,进入「控制台 → 插件」
- 找到「ThemePluginManager」插件,点击「启用」
- 启用后,在后台左侧菜单会出现「扩展管理」菜单项
- 点击「插件与主题管理」进入管理面板
使用说明
上传安装插件
- 进入「扩展管理 → 插件与主题管理」
- 在「插件管理」选项卡下,点击「选择文件」选择插件的 ZIP 压缩包
- 点击「上传安装」按钮
- 安装成功后,前往「控制台 → 插件」页面启用新插件
上传安装主题
- 进入「扩展管理 → 插件与主题管理」
- 切换到「主题管理」选项卡
- 点击「选择文件」选择主题的 ZIP 压缩包
- 点击「上传安装」按钮
- 安装成功后,前往「控制台 → 外观」页面启用新主题
卸载插件
- 在「插件管理」选项卡下,找到要卸载的插件
- 点击「卸载」按钮
- 确认卸载操作
- 如果插件已启用,系统会自动先禁用再删除文件
卸载主题
- 在「主题管理」选项卡下,找到要卸载的主题
- 点击「卸载」按钮(当前正在使用的主题不可卸载)
- 确认卸载操作
ZIP 包结构要求
插件 ZIP 包
ZIP 文件必须包含以插件名命名的子目录,子目录中包含 Plugin.php:
PluginName.zip
└── PluginName/
├── Plugin.php
└── ...⚠️ 注意
不支持将 Plugin.php 直接放在 ZIP 根目录的扁平打包方式。
上传扁平结构的 ZIP 时会提示:请将插件文件放入以插件名命名的文件夹后再打包。
主题 ZIP 包
ZIP 文件必须包含以主题名命名的子目录,子目录中包含 index.php:
ThemeName.zip
└── ThemeName/
├── index.php
└── ...⚠️ 注意
不支持将 index.php 直接放在 ZIP 根目录的扁平打包方式。
上传扁平结构的 ZIP 时会提示:请将主题文件放入以主题名命名的文件夹后再打包。
安全说明
- 所有操作需要管理员权限
- 所有表单操作包含 CSRF Token 保护
- ZIP 文件验证文件魔数(防止伪装文件)
- 目录名仅允许字母、数字、下划线和连字符
- 不允许卸载当前正在使用的插件(ThemePluginManager 自身)
- 不允许卸载当前正在使用的主题
文件结构
ThemePluginManager/
├── Plugin.php # 主插件文件(激活/停用/菜单注册)
├── Action.php # 处理上传/卸载请求的 Action 类
├── panel.php # 管理面板视图
└── README.md # 说明文档
暂无评论
还没有评论,快来抢沙发吧!