WordPress Version: 6.3
/**
* Handles site health check to get directories and database sizes via AJAX.
*
* @since 5.2.0
* @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::get_directory_sizes()
* @see WP_REST_Site_Health_Controller::get_directory_sizes()
*/
function wp_ajax_health_check_get_sizes()
{
_doing_it_wrong('wp_ajax_health_check_get_sizes', sprintf(
// translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it.
__('The Site Health check for %1$s has been replaced with %2$s.'),
'wp_ajax_health_check_get_sizes',
'WP_REST_Site_Health_Controller::get_directory_sizes'
), '5.6.0');
check_ajax_referer('health-check-site-status-result');
if (!current_user_can('view_site_health_checks') || is_multisite()) {
wp_send_json_error();
}
if (!class_exists('WP_Debug_Data')) {
require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php';
}
$sizes_data = WP_Debug_Data::get_sizes();
$all_sizes = array('raw' => 0);
foreach ($sizes_data as $name => $value) {
$name = sanitize_text_field($name);
$data = array();
if (isset($value['size'])) {
if (is_string($value['size'])) {
$data['size'] = sanitize_text_field($value['size']);
} else {
$data['size'] = (int) $value['size'];
}
}
if (isset($value['debug'])) {
if (is_string($value['debug'])) {
$data['debug'] = sanitize_text_field($value['debug']);
} else {
$data['debug'] = (int) $value['debug'];
}
}
if (!empty($value['raw'])) {
$data['raw'] = (int) $value['raw'];
}
$all_sizes[$name] = $data;
}
if (isset($all_sizes['total_size']['debug']) && 'not available' === $all_sizes['total_size']['debug']) {
wp_send_json_error($all_sizes);
}
wp_send_json_success($all_sizes);
}