wp_maybe_grant_site_health_caps()
云策文档标注
概述
wp_maybe_grant_site_health_caps() 是一个 WordPress 过滤器函数,用于在必要时授予用户 'view_site_health_checks' 能力。它基于用户的 'install_plugins' 能力和站点配置(如是否为多站点或超级管理员)来动态调整能力数组。
关键要点
- 函数作用:过滤用户能力,以授予 'view_site_health_checks' 能力。
- 核心逻辑:如果用户拥有 'install_plugins' 能力,并且站点不是多站点或用户是超级管理员,则授予 'view_site_health_checks' 能力。
- 参数:接受 $allcaps(用户能力数组)、$caps(请求的原始能力数组)、$args(能力检查参数数组)和 $user(WP_User 对象)。
- 返回值:返回过滤后的用户能力数组。
代码示例
function wp_maybe_grant_site_health_caps( $allcaps, $caps, $args, $user ) {
if ( ! empty( $allcaps['install_plugins'] ) && ( ! is_multisite() || is_super_admin( $user->ID ) ) ) {
$allcaps['view_site_health_checks'] = true;
}
return $allcaps;
}注意事项
- 该函数从 WordPress 5.2.2 版本引入。
- 在多站点环境中,仅超级管理员会被授予 'view_site_health_checks' 能力,即使普通管理员拥有 'install_plugins' 能力。
- 相关函数包括 is_super_admin() 和 is_multisite(),用于检查用户权限和站点配置。
原文内容
Filters the user capabilities to grant the ‘view_site_health_checks’ capabilities as necessary.
Parameters
$allcapsbool[]required-
An array of all the user’s capabilities.
$capsstring[]required-
Required primitive capabilities for the requested capability.
$argsarrayrequired-
Arguments that accompany the requested capability check.
0stringRequested capability.1intConcerned user ID....$2mixedOptional second and further parameters, typically object ID.
$userWP_Userrequired-
The user object.
Source
function wp_maybe_grant_site_health_caps( $allcaps, $caps, $args, $user ) {
if ( ! empty( $allcaps['install_plugins'] ) && ( ! is_multisite() || is_super_admin( $user->ID ) ) ) {
$allcaps['view_site_health_checks'] = true;
}
return $allcaps;
}
Changelog
| Version | Description |
|---|---|
| 5.2.2 | Introduced. |