felixarntz / wp-global-admin
在WordPress中引入全局管理面板。
1.0.0-beta.1
2018-02-21 18:42 UTC
Requires
- composer/installers: ~1.0
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-09-05 21:34:06 UTC
README
WP Global Admin
在WordPress中引入全局管理面板。
功能描述
- 引入全新的管理面板,全局管理面板
- 引入全局管理员,调整权限,使得某些全局设置操作无法由网络管理员执行
- 在全局管理面板中显示所有用户,在网络管理面板中仅显示当前网络中的用户(如果启用了WP网络角色插件)
- 在新管理面板中包含全局设置页面
- 包含全局管理面板的自定义仪表盘小部件
- 引入全局用户数、网络数和站点数,并修正了不正确的网络用户数,实际上只计算相应网络的用户(如果启用了WP网络角色)
- 支持WP多网络插件、WP网络角色插件和WP用户注册插件
安装方法
该插件可以作为网络范围内的常规插件或作为必须使用的插件安装。
为了公开全局管理,您的设置必须已经包含多个网络,或者您需要在wp-config.php中添加一个MULTINETWORK
常量并将其设置为true。
建议
- 虽然为插件函数和类添加前缀是最佳实践,但此插件是WordPress核心的证明概念,一些函数最终可能会在那里实现。此插件仅对插件特有的函数和类、内部辅助函数或钩子添加前缀。未添加前缀的函数和类被包装在条件中,以便如果WordPress核心适应它们,则将加载其核心变体。因此,不要定义以下任何函数或类
is_multinetwork()
is_global_admin()
get_global_administrator()
is_global_administrator()
global_site_url()
global_home_url()
global_admin_url()
get_global_user_count()
get_global_network_count()
get_global_site_count()
wp_schedule_update_global_counts()
wp_update_global_counts()
wp_maybe_update_global_user_counts()
wp_maybe_update_global_network_counts()
wp_maybe_update_global_site_counts()
wp_update_global_user_counts()
wp_update_global_network_counts()
wp_update_global_site_counts()
wp_is_large_setup()
wp_global_dashboard_setup()
wp_global_dashboard_right_now()
使用方法
调整全局权限
任何注册为全局权限的原始权限仅对全局管理员可用,网络管理员将不再允许使用。默认情况下,以下原始权限是全局权限
manage_global
manage_global_users
manage_global_themes
manage_global_plugins
manage_global_options
manage_networks
manage_signups
此列表可以通过global_admin_capabilities
过滤器进行调整。
此外,处理服务器文件更改的所有权限的映射(例如更新和使用文件编辑器)已调整,以便只有全局管理员才能执行。
钩子
- 操作:
granted_global_administrator
- 操作:
revoked_global_administrator
- 操作:
global_admin_menu
- 操作:
global_admin_notices
- 操作:
wp_global_dashboard_setup
- 过滤器:
global_admin_capabilities
- 过滤器:
global_site_url
- 过滤器:
global_home_url
- 过滤器:
global_admin_url
- 过滤器:
enable_live_global_counts
- 过滤器:
initial_global_options
- 过滤器:
redirect_global_admin_request
- 过滤器:
global_users_columns
- 过滤器:
global_user_row_actions
- 过滤器:
wp_global_dashboard_widgets
兼容性
插件的一些部分非常复杂,以使WordPress表现出所需的方式。不支持自定义管理面板,因此这是一个必要的恶。一些小问题仍然可能出现,因为它们目前无法解决(例如,像 is_blog_admin()
这样的函数将不会考虑全局管理面板)。 此Trac工单旨在解决此问题。