Ядро WordPress.Файл «load.php». Часть 6

По | 14 июня, 2022
load_php

Следующая группа рассматриваемых функций файла «load.php» перечислены ниже:

  • wp_set_internal_encoding()
  • wp_magic_quotes()
  • shutdown_action_hook()
  • wp_clone()
  • is_admin()
  • is_blog_admin()
  • is_network_admin()
  • is_user_admin()

wp_set_internal_encoding()

Функция «wp_set_internal_encoding()» — устанавливает внутреннюю кодировку скрипта. Сначала проверяется существование функции «mb_internal_encoding()«. Эта стандартная функция языка PHP. Если эта функция имеется, тогда с помощью «get_option()» получаем значение опции «blog_charset». Результат сохраняем в переменной «$charset». Если эта переменная пуста или не получилось установить кодировку, указанную в данной переменной, тогда принудительно устанавливается кодировка «UTF-8».

load-19

wp_magic_quotes()

Функция «wp_magic_quotes()» — добавляет «магические» кавычки к глобальным массивам: «$_GET», «$_POST», «$_COOKIE», and «$_SERVER». Для начала, с помощью функции «get_magic_quotes_gpc()«, получаем текущее значение настройки конфигурации «magic_quotes_gpc». Начиная с версии PHP 5.4 эта функция возвращает «FALSE», а в PHP 7.4 она объявлена устаревшей. «stripslashes_deep()» перемещается по массиву, объекту или скаляру и удаляет все косые черты из значений.

После обхода, каждый из массивов передаётся функции «add_magic_quotes()«. Эта функция перебирает все массивы и экранирует содержимое их элементов с помощью слешей. Экранирование — это один из спообов предотвращения SQL-инъекций. После экранирования производится слияние глобальных массивов «$_GET» и «$_POST», используя функцию «array_merge()«. Полученный массив присваивается глобальной переменной «$_REQUEST», которая становится глобальным массивом.

shutdown_action_hook()

Функция «shutdown_action_hook()» — запускается непосредственно перед завершением выполнения PHP скрипта. Сначала запускается функция «do_action()«, которая запускает другие функции, привязанную к хуку «shutdown». Затем запускается функция «wp_cache_close()«. Она закрывает кэш. Начиная с версии WordPress 2.5. эта функция просто возвращает значение «TRUE». Её оставили для того, чтобы не страдала работа некоторых плагинов.

wp_clone()

load-20

Функция «wp_clone()» — копирует объект. В качестве параметра ей передаётся объект, который необходимо копировать.

is_admin()

Функция «is_admin()» — определяет, является ли текущий запрос страницей административного интерфейса. Сперва проверяется существование в глобальном массиве «$GLOBALS» элемента «current_screen». Если он есть, тогда получаем к нему доступ. Этот элемент хранит экземпляр объекта «WP_Screen». Метод «in_admin()» проверяет находится ли пользователь в административной панели сайта (консоль или любая другая страница). Если да, тогда возвращается «TRUE». Иначе возвращается «FALSE».

Если элемент «current_screen» не обнаружен, тогда ищем именную константу «WP_ADMIN». Если она существует, тогда функция вернёт её значение. Если пользователь находится в административной панели, тогда её значение равно «TRUE». Если нет, тогда она принимает значение «FALSE».

is_blog_admin() и is_network_admin()

Функции «is_blog_admin()» и «is_network_admin()» работают схожим образом.

Добавить комментарий

Ваш адрес email не будет опубликован.