函数文档

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.

Return

void|false Void on success. False if the current user is not a super admin.

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.