Skip to content

文章/页面编辑页子菜单扩展 ​

通过 Filter_Plugin_Edit_SubMenu 接口,可以在后台文章与独立页面的编辑页顶部追加自定义菜单项(该接口在两种编辑页都会触发),适用于添加预览或定时发布等自定义编辑按钮、快速应用文章模板,以及字数统计、摘要自动生成等增强功能入口。

接口信息 ​

接口参数说明
Filter_Plugin_Edit_SubMenu无文章/页面编辑页菜单

完整案例 ​

php
<?php

RegisterPlugin("demoAPP", "ActivePlugin_demoAPP");

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

function demoAPP_SubMenu()
{
    global $zbp;
    // 每项参数依次为:名称、链接、CSS 类名、target(新窗口填 _blank,否则留空)
    $array   = [];
    $array[] = ['定时发布', $zbp->host . 'zb_users/plugin/demoAPP/main.php',               'm-left', ''];
    $array[] = ['生成摘要', $zbp->host . 'zb_users/plugin/demoAPP/main.php?act=summary',   'm-left', ''];
    foreach ($array as list($name, $url, $class, $target)) {
        echo MakeSubMenu($name, $url, $class, $target);
    }
}

区分文章与页面 ​

回调执行时,可以通过 GetVars('act', 'GET') 判断当前编辑的是文章还是独立页面:

php
function demoAPP_SubMenu()
{
    global $zbp;
    $act = GetVars('act', 'GET');
    if ($act === 'PostEdt') {
        // 文章编辑页独有的子菜单
        echo MakeSubMenu('文章专属工具', '...');
    }
}

注意事项 ​

  • 编辑页子菜单可以与 Filter_Plugin_Edit_Begin / Filter_Plugin_Edit_End 配合,在编辑表单上方或下方注入自定义字段;
  • 编辑页有多处响应输出接口(Filter_Plugin_Edit_Response 到 Response5),可以在子菜单点击后向编辑页回显处理结果。