wp_dashboard_site_health

The timeline below displays how wordpress function wp_dashboard_site_health has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Displays the Site Health Status widget.
 *
 * @since 5.4.0
 */
function wp_dashboard_site_health()
{
    $get_issues = get_transient('health-check-site-status-result');
    $issue_counts = array();
    if (false !== $get_issues) {
        $issue_counts = json_decode($get_issues, true);
    }
    if (!is_array($issue_counts) || !$issue_counts) {
        $issue_counts = array('good' => 0, 'recommended' => 0, 'critical' => 0);
    }
    $issues_total = $issue_counts['recommended'] + $issue_counts['critical'];
    ?>
	<div class="health-check-widget">
		<div class="health-check-widget-title-section site-health-progress-wrapper loading hide-if-no-js">
			<div class="site-health-progress">
				<svg aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
					<circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
					<circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
				</svg>
			</div>
			<div class="site-health-progress-label">
				<?php 
    if (false === $get_issues) {
        ?>
					<?php 
        _e('No information yet&hellip;');
        ?>
				<?php 
    } else {
        ?>
					<?php 
        _e('Results are still loading&hellip;');
        ?>
				<?php 
    }
    ?>
			</div>
		</div>

		<div class="site-health-details">
			<?php 
    if (false === $get_issues) {
        ?>
				<p>
					<?php 
        printf(
            /* translators: %s: URL to Site Health screen. */
            __('Site health checks will automatically run periodically to gather information about your site. You can also <a href="%s">visit the Site Health screen</a> to gather information about your site now.'),
            esc_url(admin_url('site-health.php'))
        );
        ?>
				</p>
			<?php 
    } else {
        ?>
				<p>
					<?php 
        if ($issues_total <= 0) {
            ?>
						<?php 
            _e('Great job! Your site currently passes all site health checks.');
            ?>
					<?php 
        } elseif (1 === (int) $issue_counts['critical']) {
            ?>
						<?php 
            _e('Your site has a critical issue that should be addressed as soon as possible to improve its performance and security.');
            ?>
					<?php 
        } elseif ($issue_counts['critical'] > 1) {
            ?>
						<?php 
            _e('Your site has critical issues that should be addressed as soon as possible to improve its performance and security.');
            ?>
					<?php 
        } elseif (1 === (int) $issue_counts['recommended']) {
            ?>
						<?php 
            _e('Your site&#8217;s health is looking good, but there is still one thing you can do to improve its performance and security.');
            ?>
					<?php 
        } else {
            ?>
						<?php 
            _e('Your site&#8217;s health is looking good, but there are still some things you can do to improve its performance and security.');
            ?>
					<?php 
        }
        ?>
				</p>
			<?php 
    }
    ?>

			<?php 
    if ($issues_total > 0 && false !== $get_issues) {
        ?>
				<p>
					<?php 
        printf(
            /* translators: 1: Number of issues. 2: URL to Site Health screen. */
            _n('Take a look at the <strong>%1$d item</strong> on the <a href="%2$s">Site Health screen</a>.', 'Take a look at the <strong>%1$d items</strong> on the <a href="%2$s">Site Health screen</a>.', $issues_total),
            $issues_total,
            esc_url(admin_url('site-health.php'))
        );
        ?>
				</p>
			<?php 
    }
    ?>
		</div>
	</div>

	<?php 
}

WordPress Version: 5.8

/**
 * Displays the Site Health Status widget.
 *
 * @since 5.4.0
 */
function wp_dashboard_site_health()
{
    $get_issues = get_transient('health-check-site-status-result');
    $issue_counts = array();
    if (false !== $get_issues) {
        $issue_counts = json_decode($get_issues, true);
    }
    if (!is_array($issue_counts) || !$issue_counts) {
        $issue_counts = array('good' => 0, 'recommended' => 0, 'critical' => 0);
    }
    $issues_total = $issue_counts['recommended'] + $issue_counts['critical'];
    ?>
	<div class="health-check-widget">
		<div class="health-check-widget-title-section site-health-progress-wrapper loading hide-if-no-js">
			<div class="site-health-progress">
				<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
					<circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
					<circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
				</svg>
			</div>
			<div class="site-health-progress-label">
				<?php 
    if (false === $get_issues) {
        ?>
					<?php 
        _e('No information yet&hellip;');
        ?>
				<?php 
    } else {
        ?>
					<?php 
        _e('Results are still loading&hellip;');
        ?>
				<?php 
    }
    ?>
			</div>
		</div>

		<div class="site-health-details">
			<?php 
    if (false === $get_issues) {
        ?>
				<p>
					<?php 
        printf(
            /* translators: %s: URL to Site Health screen. */
            __('Site health checks will automatically run periodically to gather information about your site. You can also <a href="%s">visit the Site Health screen</a> to gather information about your site now.'),
            esc_url(admin_url('site-health.php'))
        );
        ?>
				</p>
			<?php 
    } else {
        ?>
				<p>
					<?php 
        if ($issues_total <= 0) {
            ?>
						<?php 
            _e('Great job! Your site currently passes all site health checks.');
            ?>
					<?php 
        } elseif (1 === (int) $issue_counts['critical']) {
            ?>
						<?php 
            _e('Your site has a critical issue that should be addressed as soon as possible to improve its performance and security.');
            ?>
					<?php 
        } elseif ($issue_counts['critical'] > 1) {
            ?>
						<?php 
            _e('Your site has critical issues that should be addressed as soon as possible to improve its performance and security.');
            ?>
					<?php 
        } elseif (1 === (int) $issue_counts['recommended']) {
            ?>
						<?php 
            _e('Your site&#8217;s health is looking good, but there is still one thing you can do to improve its performance and security.');
            ?>
					<?php 
        } else {
            ?>
						<?php 
            _e('Your site&#8217;s health is looking good, but there are still some things you can do to improve its performance and security.');
            ?>
					<?php 
        }
        ?>
				</p>
			<?php 
    }
    ?>

			<?php 
    if ($issues_total > 0 && false !== $get_issues) {
        ?>
				<p>
					<?php 
        printf(
            /* translators: 1: Number of issues. 2: URL to Site Health screen. */
            _n('Take a look at the <strong>%1$d item</strong> on the <a href="%2$s">Site Health screen</a>.', 'Take a look at the <strong>%1$d items</strong> on the <a href="%2$s">Site Health screen</a>.', $issues_total),
            $issues_total,
            esc_url(admin_url('site-health.php'))
        );
        ?>
				</p>
			<?php 
    }
    ?>
		</div>
	</div>

	<?php 
}

WordPress Version: 5.4

/**
 * Displays the Site Health Status widget.
 *
 * @since 5.4.0
 */
function wp_dashboard_site_health()
{
    $get_issues = get_transient('health-check-site-status-result');
    $issue_counts = array();
    if (false !== $get_issues) {
        $issue_counts = json_decode($get_issues, true);
    }
    if (!is_array($issue_counts) || !$issue_counts) {
        $issue_counts = array('good' => 0, 'recommended' => 0, 'critical' => 0);
    }
    $issues_total = $issue_counts['recommended'] + $issue_counts['critical'];
    ?>
	<div class="health-check-title-section site-health-progress-wrapper loading hide-if-no-js">
		<div class="site-health-progress">
			<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
				<circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
				<circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
			</svg>
		</div>
		<div class="site-health-progress-label">
			<?php 
    if (false === $get_issues) {
        ?>
				<?php 
        _e('No information yet&hellip;');
        ?>
			<?php 
    } else {
        ?>
				<?php 
        _e('Results are still loading&hellip;');
        ?>
			<?php 
    }
    ?>
		</div>
	</div>

	<?php 
    if (false === $get_issues) {
        ?>
		<p>
			<?php 
        printf(
            /* translators: %s: URL to Site Health screen. */
            __('Site health checks will automatically run periodically to gather information about your site. You can also <a href="%s">visit the Site Health screen</a> to gather information about your site now.'),
            esc_url(admin_url('site-health.php'))
        );
        ?>
		</p>
	<?php 
    } else {
        ?>
		<p>
			<?php 
        if ($issue_counts['critical'] > 0) {
            ?>
				<?php 
            _e('Your site has critical issues that should be addressed as soon as possible to improve its performance and security.');
            ?>
			<?php 
        } elseif ($issues_total <= 0) {
            ?>
				<?php 
            _e('Great job! Your site currently passes all site health checks.');
            ?>
			<?php 
        } else {
            ?>
				<?php 
            _e('Your site&#8217;s health is looking good, but there are still some things you can do to improve its performance and security.');
            ?>
			<?php 
        }
        ?>
		</p>
	<?php 
    }
    ?>

	<?php 
    if ($issues_total > 0 && false !== $get_issues) {
        ?>
		<p>
			<?php 
        printf(
            /* translators: 1: Number of issues. 2: URL to Site Health screen. */
            _n('Take a look at the <strong>%1$d item</strong> on the <a href="%2$s">Site Health screen</a>.', 'Take a look at the <strong>%1$d items</strong> on the <a href="%2$s">Site Health screen</a>.', $issues_total),
            $issues_total,
            esc_url(admin_url('site-health.php'))
        );
        ?>
		</p>
	<?php 
    }
    ?>

	<?php 
}