site_admin_notice()
云策文档标注
概述
site_admin_notice() 函数用于在 WordPress 核心升级后,向超级管理员显示一个升级所有站点的后台通知。该函数检查用户权限和当前页面,仅在需要时输出警告消息。
关键要点
- 函数功能:显示一个后台通知,提示升级网络中的所有站点,通常在核心升级后调用。
- 返回值:成功时返回 void,如果当前用户不是超级管理员则返回 false。
- 条件检查:仅当用户具有 'upgrade_network' 权限、当前页面不是 'upgrade.php' 且网络升级状态与数据库版本不匹配时,才显示通知。
- 相关函数:使用 wp_admin_notice() 输出通知,network_admin_url() 生成升级网络页面的 URL,current_user_can() 检查用户能力,__() 进行翻译,esc_url() 清理 URL,get_site_option() 获取网络选项。
代码示例
function site_admin_notice() {
global $wp_db_version, $pagenow;
if ( ! current_user_can( 'upgrade_network' ) ) {
return false;
}
if ( 'upgrade.php' === $pagenow ) {
return;
}
if ( (int) get_site_option( 'wpmu_upgrade_site' ) !== $wp_db_version ) {
$upgrade_network_message = sprintf(
/* translators: %s: URL to Upgrade Network screen. */
__( 'Thank you for Updating! Please visit the Upgrade Network page to update all your sites.' ),
esc_url( network_admin_url( 'upgrade.php' ) )
);
wp_admin_notice(
$upgrade_network_message,
array(
'type' => 'warning',
'additional_classes' => array( 'update-nag', 'inline' ),
'paragraph_wrap' => false,
)
);
}
}注意事项
- 该函数自 WordPress 3.0.0 版本引入,主要用于多站点网络环境。
- 通知类型为 'warning',样式类包括 'update-nag' 和 'inline',且不自动包裹段落标签。
- 开发者应确保在适当场景调用此函数,避免在不必要的情况下显示通知。
原文内容
Displays an admin notice to upgrade all sites after a core upgrade.
Source
function site_admin_notice() {
global $wp_db_version, $pagenow;
if ( ! current_user_can( 'upgrade_network' ) ) {
return false;
}
if ( 'upgrade.php' === $pagenow ) {
return;
}
if ( (int) get_site_option( 'wpmu_upgrade_site' ) !== $wp_db_version ) {
$upgrade_network_message = sprintf(
/* translators: %s: URL to Upgrade Network screen. */
__( 'Thank you for Updating! Please visit the <a href="%s">Upgrade Network</a> page to update all your sites.' ),
esc_url( network_admin_url( 'upgrade.php' ) )
);
wp_admin_notice(
$upgrade_network_message,
array(
'type' => 'warning',
'additional_classes' => array( 'update-nag', 'inline' ),
'paragraph_wrap' => false,
)
);
}
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |