Skip to content

主题管理页子菜单扩展 ​

通过 Filter_Plugin_Admin_ThemeMng_SubMenu 接口,可以在后台「主题管理」页面顶部的子菜单区域追加自定义菜单项,适用于主题一键备份或还原、主题文件编辑器入口以及主题市场快速跳转等场景。

接口信息 ​

接口参数说明
Filter_Plugin_Admin_ThemeMng_SubMenu无主题管理页面子菜单

完整案例 ​

php
<?php

RegisterPlugin("demoAPP", "ActivePlugin_demoAPP");

function ActivePlugin_demoAPP()
{
    Add_Filter_Plugin('Filter_Plugin_Admin_ThemeMng_SubMenu', 'demoAPP_SubMenu');
}

function demoAPP_SubMenu()
{
    global $zbp;
    $currentTheme = $zbp->theme; // 当前使用的主题 ID
    // 每项参数依次为:名称、链接、CSS 类名、target(新窗口填 _blank,否则留空)
    $array   = [];
    $array[] = ['备份当前主题', $zbp->host . 'zb_users/plugin/demoAPP/main.php?theme=' . $currentTheme, 'm-left', ''];
    $array[] = ['还原主题',     $zbp->host . 'zb_users/plugin/demoAPP/main.php?act=restore',             'm-left', ''];
    foreach ($array as list($name, $url, $class, $target)) {
        echo MakeSubMenu($name, $url, $class, $target);
    }
}

注意事项 ​

  • 主题文件存放在 zb_users/theme/主题ID/ 目录,备份时要同时打包 template.json、style 目录、script 目录和 include 目录;
  • 切换主题时 Z-BlogPHP 会自动重建模板编译文件,插件备份还原逻辑中记得调用 $zbp->BuildTemplate()。