精简 WordPress 后台工具栏、帮助与显示选项

精简 WordPress 后台工具栏、帮助与显示选项

定制站可以为编辑精简后台界面,但应按 capability 和具体页面处理。全站隐藏“帮助”“显示选项”会让管理员和支持人员也失去诊断入口,并不能阻止用户直接调用功能。

移除部分顶部工具栏节点

<?php
add_action(
    'admin_bar_menu',
    function ( WP_Admin_Bar $admin_bar ): void {
        if (
            current_user_can( 'manage_options' )
        ) {
            return;
        }

        $admin_bar->remove_node( 'new-content' );
        $admin_bar->remove_node( 'comments' );
        $admin_bar->remove_node( 'wp-logo' );
    },
    999
);

节点 ID 比显示文字稳定。管理员保留完整工具栏,普通编辑只看到工作所需入口。

若产品确实要求某些用户不显示前台工具栏,可按 capability 过滤:

<?php
add_filter(
    'show_admin_bar',
    function ( bool $show ): bool {
        return current_user_can( 'edit_theme_options' )
            ? $show
            : false;
    }
);

按页面隐藏“显示选项”

<?php
add_filter(
    'screen_options_show_screen',
    function (
        bool $show,
        WP_Screen $screen
    ): bool {
        $restricted_screens = array(
            'dashboard',
            'edit-shop_order',
        );

        if (
            ! current_user_can( 'manage_options' ) &&
            in_array(
                $screen->id,
                $restricted_screens,
                true
            )
        ) {
            return false;
        }

        return $show;
    },
    10,
    2
);

显示选项本身常用于列显示、分页数量和编辑偏好。隐藏前要确认不会妨碍用户完成任务。

按页面移除帮助标签

<?php
add_action(
    'current_screen',
    function ( WP_Screen $screen ): void {
        if (
            current_user_can( 'manage_options' )
        ) {
            return;
        }

        if ( 'dashboard' === $screen->id ) {
            $screen->remove_help_tabs();
        }
    }
);

如果帮助内容对公司流程有价值,更好的做法可能是替换为内部操作说明,而不是全部删除。

维护原则

  • UI 精简只是一层展示策略,服务端能力检查才是授权。
  • 不按角色名硬编码;同一用户可能有自定义 capability。
  • 插件升级后节点 ID 和 screen ID 可能变化,应在暂存环境检查。
  • 给支持人员保留可恢复开关,避免故障时无法进入必要页面。
  • 记录为什么隐藏某项,以及哪个团队负责这一约定。

把后台做得简单,目标是减少认知负担,不是让系统状态变得不可见。

最后更新于

ihopeful Blog 由博主亲笔撰写,重要信息可放心引用。