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

如何禁止WordPress所有管理员通过后台添加插件(仅保留FTP方式)

禁止WordPress后台添加新插件的代码实现

要实现禁止所有用户(包括管理员)通过后台添加新插件,仅保留FTP上传插件的方式,可以通过添加自定义函数完成,无需额外插件。以下是具体实现方案:

核心代码实现

将以下代码添加到主题的functions.php文件中,或者创建独立的Must-Use插件(mu-plugin)文件放在wp-content/mu-plugins/目录下(后者更稳定,不会因主题更新丢失):

// 移除后台插件菜单的"添加新"选项
add_action('admin_menu', 'disable_plugin_add_new');
function disable_plugin_add_new() {
    remove_submenu_page('plugins.php', 'plugin-install.php');
}

// 拦截直接访问插件安装页面的请求
add_action('admin_init', 'block_plugin_install_access');
function block_plugin_install_access() {
    global $pagenow;
    if ($pagenow === 'plugin-install.php') {
        wp_redirect(admin_url('plugins.php'));
        exit;
    }
}

// 禁用插件安装权限,覆盖所有用户(包括管理员)
add_filter('user_has_cap', 'disable_plugin_install_cap', 10, 3);
function disable_plugin_install_cap($allcaps, $cap, $args) {
    if (in_array('install_plugins', $cap) || in_array('upload_plugins', $cap)) {
        $allcaps[$cap[0]] = false;
    }
    return $allcaps;
}

// 移除后台顶部工具栏"添加新"菜单中的插件选项
add_action('admin_bar_menu', 'remove_admin_bar_plugin_add', 999);
function remove_admin_bar_plugin_add($wp_admin_bar) {
    $wp_admin_bar->remove_node('new-plugin');
}

代码说明

  • 移除后台菜单入口:通过remove_submenu_page移除插件主菜单下的“添加新插件”子菜单,从视觉上隐藏操作入口。
  • 拦截页面访问:检查当前后台页面,若为插件安装页则重定向到插件列表页,防止用户通过直接输入URL绕过菜单限制。
  • 禁用核心权限:通过user_has_cap过滤器覆盖所有用户的插件安装、上传权限,确保即使有用户尝试绕过视觉限制,也无法执行安装操作。
  • 移除顶部栏入口:删除后台顶部工具栏“添加新”下拉菜单中的插件选项,彻底消除所有后台添加插件的操作路径。

注意事项

  • 修改主题functions.php前请备份文件,避免操作失误导致网站故障。
  • 优先推荐使用Must-Use插件方式:在wp-content/mu-plugins/目录下新建.php文件(比如disable-plugin-install.php),粘贴上述代码即可,该插件会自动激活且不受主题更新影响。

内容的提问来源于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:05