get_status_header_desc()WP 2.3.0

Получает текст (сообщение) статус кода HTTP ответа. Наприменр "Not Found".

Код ответа это всегда число, иногда нужно получить описание этого кода. Например для 451 это будет текст "Unavailable For Legal Reasons".

Основа для: status_header()
1 раз — 0.00001 сек (скорость света) | 50000 раз — 0.01 сек (скорость света) | PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

Строку.

  • Строку - Описание (текст) статус кода.
  • Пустую строку - если описание указанного статуса не было найдено.

Использование

get_status_header_desc( $code );
$code(число) (обязательный)
HTTP статус код, описание которого нужно получить.

Примеры

0

#1 Получим описание популярных кодов ответа сервера

echo get_status_header_desc( 200 ); //> OK

echo get_status_header_desc( 404 ); //> Not Found

echo get_status_header_desc( 301 ); //> Moved Permanently

echo get_status_header_desc( 500 ); //> Internal Server Error

Все статусы описаны здесь или загляните в код функции.

Заметки

  • Global. Массив. $wp_header_to_desc

Список изменений

С версии 2.3.0 Введена.
С версии 3.9.0 Added status codes 418, 428, 429, 431, and 511.
С версии 4.5.0 Added status codes 308, 421, and 451.
С версии 5.1.0 Added status code 103.

Код get_status_header_desc() WP 6.1.1

function get_status_header_desc( $code ) {
	global $wp_header_to_desc;

	$code = absint( $code );

	if ( ! isset( $wp_header_to_desc ) ) {
		$wp_header_to_desc = array(
			100 => 'Continue',
			101 => 'Switching Protocols',
			102 => 'Processing',
			103 => 'Early Hints',

			200 => 'OK',
			201 => 'Created',
			202 => 'Accepted',
			203 => 'Non-Authoritative Information',
			204 => 'No Content',
			205 => 'Reset Content',
			206 => 'Partial Content',
			207 => 'Multi-Status',
			226 => 'IM Used',

			300 => 'Multiple Choices',
			301 => 'Moved Permanently',
			302 => 'Found',
			303 => 'See Other',
			304 => 'Not Modified',
			305 => 'Use Proxy',
			306 => 'Reserved',
			307 => 'Temporary Redirect',
			308 => 'Permanent Redirect',

			400 => 'Bad Request',
			401 => 'Unauthorized',
			402 => 'Payment Required',
			403 => 'Forbidden',
			404 => 'Not Found',
			405 => 'Method Not Allowed',
			406 => 'Not Acceptable',
			407 => 'Proxy Authentication Required',
			408 => 'Request Timeout',
			409 => 'Conflict',
			410 => 'Gone',
			411 => 'Length Required',
			412 => 'Precondition Failed',
			413 => 'Request Entity Too Large',
			414 => 'Request-URI Too Long',
			415 => 'Unsupported Media Type',
			416 => 'Requested Range Not Satisfiable',
			417 => 'Expectation Failed',
			418 => 'I\'m a teapot',
			421 => 'Misdirected Request',
			422 => 'Unprocessable Entity',
			423 => 'Locked',
			424 => 'Failed Dependency',
			426 => 'Upgrade Required',
			428 => 'Precondition Required',
			429 => 'Too Many Requests',
			431 => 'Request Header Fields Too Large',
			451 => 'Unavailable For Legal Reasons',

			500 => 'Internal Server Error',
			501 => 'Not Implemented',
			502 => 'Bad Gateway',
			503 => 'Service Unavailable',
			504 => 'Gateway Timeout',
			505 => 'HTTP Version Not Supported',
			506 => 'Variant Also Negotiates',
			507 => 'Insufficient Storage',
			510 => 'Not Extended',
			511 => 'Network Authentication Required',
		);
	}

	if ( isset( $wp_header_to_desc[ $code ] ) ) {
		return $wp_header_to_desc[ $code ];
	} else {
		return '';
	}
}