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

移除WordPress菜单中指定插件的访问权限求助

解决WordPress隐藏Qi Addons for Elementor后台菜单问题

原代码失效原因

  1. 钩子时机过早:admin_menu默认优先级为10,多数插件会在之后注册子菜单,导致你的代码执行时目标菜单尚未生成
  2. 判断条件错误:你用插件文件路径匹配$menu_item[2],但该字段实际存储的是菜单slug,而非插件文件路径

解决方案分两种场景

场景1:隐藏插件列表中的「设置」链接(plugins.php页面内)

先通过调试获取目标slug:

// 临时添加,用于查看plugins.php的子菜单结构
function debug_plugin_submenus() {
    global $submenu;
    if (isset($submenu['plugins.php'])) {
        echo '<pre>';
        print_r($submenu['plugins.php']);
        echo '</pre>';
    }
}
add_action('admin_menu', 'debug_plugin_submenus', 999);

登录后台插件页面,找到Qi Addons对应的条目,复制$item[2]的值(例如qi-addons-for-elementor-settings),替换到以下代码:

function hide_qi_addons_plugin_settings_link() {
    global $submenu;
    
    // 替换为你调试得到的slug
    $target_slug = 'qi-addons-for-elementor-settings';
    
    if (isset($submenu['plugins.php'])) {
        foreach ($submenu['plugins.php'] as $index => $menu_item) {
            if ($menu_item[2] === $target_slug) {
                unset($submenu['plugins.php'][$index]);
                break;
            }
        }
    }
}
// 高优先级确保在插件注册菜单后执行
add_action('admin_menu', 'hide_qi_addons_plugin_settings_link', 999);

场景2:隐藏左侧顶级菜单(如「Qi Addons」入口)

确认顶级菜单slug(通常为qi-addons-for-elementor),使用以下代码:

function hide_qi_addons_top_menu() {
    global $menu;
    
    // 替换为目标菜单的slug
    $target_slug = 'qi-addons-for-elementor';
    
    foreach ($menu as $index => $menu_item) {
        if ($menu_item[2] === $target_slug) {
            unset($menu[$index]);
            break;
        }
    }
}
add_action('admin_menu', 'hide_qi_addons_top_menu', 999);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:50:19