我如何才能程序化地隐藏除管理员用户以外的所有人的所有管理员通知

时间:2021-09-30 作者:bob

当具有编辑权限的用户登录时,他们会收到大量通知,说明他们不关心,也不应该关心。

如何为除具有管理员权限的用户之外的所有人禁用所有NAG?

1 个回复
SO网友:Jacob Peattie

您可以从中删除所有操作admin_notices 钩最好的方法可能是从钩子本身的最早优先级开始,这样您就可以捕获任何延迟注册的通知。

add_action(
    \'admin_notices\',
    function() {
        if ( ! current_user_can( \'manage_options\' ) ) {
            remove_all_actions( \'admin_notices\' );
        }
    },
    0
);
问题是,管理通知几乎没有标准化,可能有插件以错误的方式或在错误的位置注册通知。因此,如果该代码没有捕获到任何通知,则需要根据具体情况对其进行处理。