Filters which site status tests are run on a site.
Description
The site health is determined by a set of tests based on best practices from both the WordPress Hosting Team and web standards in general.
Some sites may not have the same requirements, for example the automatic update checks may be handled by a host, and are therefore disabled in core.
Or maybe you want to introduce a new test, is caching enabled/disabled/stale for example.
Tests may be added either as direct, or asynchronous ones. Any test that may require some time to complete should run asynchronously, to avoid extended loading periods within wp-admin.
Parameters
$tests
array[]- An associative array of direct and asynchronous tests.
direct
array[]An array of direct tests....$identifier
array$identifier
should be a unique identifier for the test. Plugins and themes are encouraged to prefix test identifiers with their slug to avoid collisions between tests.label
stringThe friendly label to identify the test.test
callableThe callback function that runs the test and returns its result.skip_cron
boolWhether to skip this test when running as cron.
}async
array[]An array of asynchronous tests....$identifier
array$identifier
should be a unique identifier for the test. Plugins and themes are encouraged to prefix test identifiers with their slug to avoid collisions between tests.label
stringThe friendly label to identify the test.test
stringAn admin-ajax.php action to be called to perform the test, or if$has_rest
is true, a URL to a REST API endpoint to perform the test.has_rest
boolWhether the$test
property points to a REST API endpoint.skip_cron
boolWhether to skip this test when running as cron.async_direct_test
callableA manner of directly calling the test marked as asynchronous, as the scheduled event can not authenticate, and endpoints may require authentication.
}
Source
$tests = apply_filters( 'site_status_tests', $tests );
Changelog
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example usage to remove a test:
Also check out the Site Health Manager plugin that allows you to easily remove custom status test using this hook.
Useful code examples for adding your own tests and section to the Info tab can be found in the Site Health Check in 5.2 announcement article.
Here’s a quick one-liner to disable 3 Site Health tests that tend to be false alarms. You can drop it into a plugin or your theme’s
functions.php
.