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

无需插件移除WordPress后台图标及SVG,求更简洁实现方案

无需插件移除WordPress后台所有菜单图标(含插件添加图标)

核心实现思路

WordPress后台的菜单图标(包括默认菜单和插件新增菜单)均通过admin_menu钩子注册定义,我们可以遍历全局菜单数组程序化清除图标配置;针对少数用CSS强制添加图标的插件,补充CSS规则即可彻底隐藏。

全局移除所有菜单图标(PHP代码)

将以下代码添加到当前主题的functions.php文件中,它会在所有插件完成菜单注册后,清除顶级菜单和子菜单的图标:

add_action('admin_menu', 'remove_all_admin_menu_icons', 999);
function remove_all_admin_menu_icons() {
    global $menu, $submenu;
    
    // 处理所有顶级菜单
    foreach ($menu as $key => $menu_item) {
        if (isset($menu[$key][6])) {
            $menu[$key][6] = '';
        }
    }
    
    // 处理所有子菜单(部分插件会给子菜单单独设置图标)
    foreach ($submenu as $parent_slug => $sub_items) {
        foreach ($sub_items as $sub_key => $sub_item) {
            if (isset($submenu[$parent_slug][$sub_key][4])) {
                // 移除子菜单中的图标类和SVG代码
                $submenu[$parent_slug][$sub_key][4] = preg_replace('/dashicons-[a-z0-9-]+|(<svg.*?<\/svg>)/i', '', $submenu[$parent_slug][$sub_key][4]);
            }
        }
    }
}

WooCommerce图标专项优化

如果全局代码对WooCommerce菜单图标处理效果不理想,可补充以下CSS规则彻底隐藏:

add_action('admin_head', 'remove_woocommerce_menu_icon_css');
function remove_woocommerce_menu_icon_css() {
    echo '<style>
        /* 隐藏WooCommerce顶级菜单图标 */
        #toplevel_page_woocommerce .menu-icon-woocommerce div.wp-menu-image {
            display: none !important;
        }
        /* 调整菜单文字位置,避免留白 */
        #toplevel_page_woocommerce .wp-menu-name {
            margin-left: 0 !important;
        }
    </style>';
}

注意事项

  1. 代码优先级设为999,确保在所有插件注册菜单之后执行,保证覆盖效果。
  2. 若遇到其他插件的图标无法通过PHP清除,可通过浏览器开发者工具找到对应菜单的CSS选择器,补充到admin_head的样式中隐藏。
  3. 修改functions.php前请务必备份文件,避免代码错误导致后台无法访问。

内容的提问来源于stack exchange,提问作者Web Honey Digital

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:04:01