# compression_test()

URL: https://chugunov.pro/api-wordpress/functions/compression_test/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.8.0.

## Сигнатура

```php
compression_test()
```

## Описание

Выводит JavaScript, который проверяет, работает ли сжатие средствами PHP как ожидается, и сохраняет результат в опции. Не действует, если текущий пользователь не является администратором. Чтобы запустить проверку снова, нужно удалить опцию ‘can_compress_scripts’.

## Исходный код

Файл: `wp-admin/includes/template.php:2501`

```php
function compression_test() {
	?>
	<script>
	var compressionNonce = <?php echo wp_json_encode( wp_create_nonce( 'update_can_compress_scripts' ), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?>;
	var testCompression = {
		get : function(test) {
			var x;
			if ( window.XMLHttpRequest ) {
				x = new XMLHttpRequest();
			} else {
				try{x=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{x=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};}
			}

			if (x) {
				x.onreadystatechange = function() {
					var r, h;
					if ( x.readyState == 4 ) {
						r = x.responseText.substr(0, 18);
						h = x.getResponseHeader('Content-Encoding');
						testCompression.check(r, h, test);
					}
				};

				x.open('GET', ajaxurl + '?action=wp-compression-test&test='+test+'&_ajax_nonce='+compressionNonce+'&'+(new Date()).getTime(), true);
				x.send('');
			}
		},

		check : function(r, h, test) {
			if ( ! r && ! test )
				this.get(1);

			if ( 1 == test ) {
				if ( h && ( h.match(/deflate/i) || h.match(/gzip/i) ) )
					this.get('no');
				else
					this.get(2);

				return;
			}

			if ( 2 == test ) {
				if ( '"wpCompressionTest' === r )
					this.get('yes');
				else
					this.get('no');
			}
		}
	};
	testCompression.check();
	</script>
	<?php
}
```

## История изменений

- 2.8.0 — Introduced.

## Связанные

Использует: [`wp_json_encode`](https://chugunov.pro/api-wordpress/functions/wp_json_encode/), [`wp_create_nonce`](https://chugunov.pro/api-wordpress/functions/wp_create_nonce/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/compression_test/
