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

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(), is_admin(), is_blog_admin() и is_network_admin()

load-20

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

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

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

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

You may also like...

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Sign up
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.