Перейти к содержанию

4.1 Ядро WordPress. Функция wp_get_server_protocol()

Last updated on 23.05.2021

wp_get_server_protocol

Данная функция располагается в файле “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()”.

Опубликовано в рубрике4. Файл "load.php"Ядро Wordpress