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

WordPress多站点:如何让子站点管理员访问插件页面并管理非网络插件

解决WordPress多站点子站点管理员访问插件页面的问题

核心逻辑

WordPress多站点默认限制子站点管理员访问插件管理功能,我们需要为子站点管理员角色添加特定权限,使其能查看插件列表、激活/禁用非网络级插件,但保留无法安装、删除插件的限制。

具体实现方案

方案1:修改主题functions.php文件

将以下代码添加到你的网络主题(或子站点主题)的functions.php中:

function grant_subsite_admins_plugin_access() {
    // 获取子站点管理员角色对象
    $admin_role = get_role('administrator');
    
    // 添加查看插件页面的权限
    $admin_role->add_cap('view_plugins');
    // 添加激活、禁用插件的权限(仅对非网络激活插件生效)
    $admin_role->add_cap('activate_plugins');
    $admin_role->add_cap('deactivate_plugins');
}
// 在站点初始化时执行权限添加操作
add_action('init', 'grant_subsite_admins_plugin_access');

方案2:创建自定义网络插件(推荐)

为避免主题更新导致代码丢失,建议创建一个网络激活的插件:

  1. 在wp-content/plugins/目录下新建文件夹subsite-plugin-permissions
  2. 在该文件夹内创建subsite-plugin-permissions.php文件,写入以下内容:
<?php
/*
Plugin Name: 子站点插件管理权限扩展
Description: 允许多站点子站点管理员查看插件页面并管理非网络级插件
Version: 1.0
Network: true
*/

function grant_subsite_admins_plugin_access() {
    $admin_role = get_role('administrator');
    $admin_role->add_cap('view_plugins');
    $admin_role->add_cap('activate_plugins');
    $admin_role->add_cap('deactivate_plugins');
}
add_action('init', 'grant_subsite_admins_plugin_access');
  1. 登录网络后台,找到该插件并点击网络激活即可。

关键注意事项

  • 不要添加install_plugins或delete_plugins权限,否则子站点管理员将获得安装、删除插件的权限,违背你的限制需求。
  • 网络激活的插件无法被子站点管理员修改,此方案完全符合你保持网络级插件不可变更的要求。
  • 若后续角色权限被重置,重新执行上述操作即可(自定义插件方式更稳定)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:12:07