You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Wagtail账户管理页面隐藏用户/组的Notifications标签?

隐藏“Notifications”标签的实现方案

可以通过过滤登录用户的面板菜单项列表的现有钩子来实现,以下是具体思路和代码示例:

  • 先定位系统中负责输出面板菜单的钩子(通常命名类似panel_menu_items、user_navigation_items这类)
  • 在钩子的回调函数里遍历菜单项,精准匹配并移除“Notifications”对应的条目

PHP环境示例(适配后端渲染场景)

假设系统提供的钩子名为filter_user_panel_items,代码如下:

add_filter('filter_user_panel_items', function($items) {
    // 遍历菜单项,匹配并移除Notifications项
    foreach ($items as $key => $item) {
        // 可根据实际标识匹配,比如slug、ID或标签文本
        if ($item['slug'] === 'notifications' || $item['label'] === 'Notifications') {
            unset($items[$key]);
            break;
        }
    }
    // 重新索引数组(按需选择,部分系统要求数组连续索引)
    return array_values($items);
});

JavaScript环境示例(适配前端渲染场景)

如果面板是前端动态渲染的,可监听菜单加载完成的钩子,操作DOM移除目标标签:

// 假设菜单容器类为.panel-menu,Notifications项的属性标识为data-slug="notifications"
document.addEventListener('panelMenuLoaded', function() {
    const notificationItem = document.querySelector('.panel-menu [data-slug="notifications"]');
    if (notificationItem) {
        notificationItem.remove();
    }
});

关键注意点

  • 务必确认系统提供的准确钩子名称(可通过官方文档或调试工具排查)
  • 匹配“Notifications”项时,优先用唯一标识(如slug、ID)而非文本标签,避免多语言场景失效
  • 确保钩子逻辑仅对已登录用户生效,避免影响未登录状态的页面展示

内容的提问来源于stack exchange,提问作者Eman Lex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:14:54