
Данная функция располагается в файле «load.php». Полный путь к нему таков:
корневая папка сайта/wp-includes/load.php
Описание wp_get_server_protocol()
Функция «wp_get_server_protocol()» — выясняет какой протокол соединения с сервером используется. Для этого данная функция обращается к элементу глобального массива «$_SERVER». В качестве ключа используется выражение «SERVER_PROTOCOL». В этом элементе хранится информация об имени и версии протокола.
Результат сохраняется в переменной «$protocol». После того как необходимая информация была получена, выясняем, с помощью функции «in_array()», соответствует ли результат одному из значений массива. Если да, то функция возвращает значение переменной. Если нет, то переменной «$protocol» присваивается нужное значение, а затем оно возвращается функцией.
По умолчанию возвращается значение «HTTP/1.0».
Пример использования
Ниже приведён код функции «status_header()«, в котором используется «wp_get_server_protocol()«.
function status_header( $code, $description= '')
{
if( ! $description)
{
$description= get_status_header_desc( $code);
}
if( empty( $description) ) {
return;
}
$protocol= wp_get_server_protocol();
$status_header= "$protocol $code $description";
if( function_exists( 'apply_filters') )
{
/*** Filters an HTTP status header.
* @since 2.2.0
* @param string $status_header HTTP status header.
* @param int $code HTTP status code.
* @param string $description Description for the status code.
* @param string $protocol Server protocol.
*/
$status_header= apply_filters( 'status_header', $status_header, $code, $description, $protocol);
}
if( ! headers_sent() )
{
header( $status_header, true, $code);
}
}
Функция «status_header()» формирует заголовки для HTML страницы, которые затем отправляются браузеру. Например такой заголовок:
//Страница выполнена корректно header( 'HTTP/1.1 200 OK' );
Или такой:
//Сервер выполнил скрипт с ошибкой header( 'HTTP/1.1 500 Internal Server Error' );
Так вот значение «HTTP/1.1» мы получаем благодаря функции «wp_get_server_protocol()».