Category: Ядро Wordpress

Разбираем ядро Wordpress
load_php

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

Завершаем разбор файлф “load.php”. Осталось рассмотреть следующие функции: wp_installing() is_ssl() wp_convert_hr_to_bytes() wp_is_ini_value_changeable() wp_doing_ajax() wp_using_themes() wp_doing_cron() is_wp_error() wp_is_file_mod_allowed() wp_start_scraping_edited_file_errors() wp_finalize_scraping_edited_file_errors() wp_is_json_request() wp_is_jsonp_request() wp_is_xml_request() wp_installing() и is_ssl() Функция “wp_installing()” – выясняет, работает ли WordPress в режиме установки или нет. При необходимости, с её помощью можно включить или выключить режим установки WordPress. Включение...

0
load_php

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

В данной публикации я рассмотрю такие функции «load.php» как: is_user_admin (), is_multisite (), get_current_blog_id() get_current_network_id() wp_load_translations_early() is_user_admin (), is_multisite (), get_current_blog_id() и get_current_network_id() Функция “is_user_admin()” – определяет, является ли текущий запрос страницей, которая показывается только администратору. Принцип работы аналогичен предыдущим трём функциям. Функция “is_multisite()“- проверяет включен ли режим “мультисайт“. Сначала...

0
load_php

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

Следующая группа рассматриваемых функций файла “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”. Результат сохраняем в переменной...

0
load_php

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

Продолжаем разбор файла “load.php”. В данной статье я рассмотрю такие функции как: wp_get_active_and_valid_themes() wp_skip_paused_themes() is_protected_endpoint() wp_is_recovery_mode() is_protected_ajax_action() wp_get_active_and_valid_themes() Функция “wp_get_active_and_valid_themes()” – данная функция возвращает список активных тем сайта. Сначала функция получает доступ к глобальной переменной “$pagenow”. После объявляется пустой массив “$themes”. Если система находится в режиме установки и файл текущей...

0
load_php

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

Следующая группа рассматриваемых функций файла “load.php” имеет отношение к работе со списком активных плагинов. wp_not_installed() Функция “wp_not_installed()” – проверяет правильность установки CMS WordPress. При помощи функции “is_multisite()” выясняем располагается ли сайт на поддомене(домен третьего, четвёртого уровня и так далее). Если он находится именно там, тогда используя функцию “is_blog_installed()” проверяем правильность...

0
load_php

Файл «load.php». Часть 3

Продолжаем разбирать ядро WordPress. В данной статье будет рассмотрена следующая группа функций, описанная в файле “load.php”. wp_set_lang_dir() Функция “wp_set_lang_dir()” – устанавливает путь к папке с языковыми файлами. Это происходит только в том случае, когда не задана именная константа “WP_LANG_DIR”. Она определяется в файле “default-constants.php”. Если эта константа не определена, тогда...

0
load_php

Файл «load.php». Часть 2

wp_check_php_mysql_versions() Функция “wp_check_php_mysql_versions()” – проверяет текущие версии PHP – интерпретатора и базы данных. Он использует две глобальные переменные “$required_php_version” и “$wp_version”. Первая переменная хранит версию PHP – интерпретатора, требуемую для работы CMS WordPress. Вторая переменная хранит рабочую версию WordPress. Проверяем текущую версию PHP – интерпретатора с помощью функции “phpversion()“. Используя...

0
load_php

Файл “load.php”. Часть 1

Теперь мы приступаем к изучению ядра WordPress. Начнём с файла “load.php”. В стандартной редакции WordPress именно этот файл ядра загружается первым. wp_get_server_protocol() Функция “wp_get_server_protocol()” – выясняет какой протокол соединения с сервером используется. Для этого данная функция обращается к элементу глобального массива “$_SERVER”. В качестве ключа используется выражение “SERVER_PROTOCOL”. В этом...

0
cms core

Ядро WordPress. Этапы его разбора и изменения.

Подготовительный этап окончен. Были написаны три класса. Это класс “GlobalVariables” , класс “AutoLoader” и класс “Exceptions”. Первый класс необходим для хранения информации глобальных переменных. Второй класс используется для подключения всех необходимых файлов ядра. При этом возможно подключение как пакета файлов, так и одиночных файлов. Третий класс перехватывает сообщения о возникающих...

0
autoloader2

Класс «AutoLoader». Часть 3

Теперь переходим к заключительному этапу разработки класса “AutoLoader”. В данной статье я подробно рассмотрю ключевой метод создания карты классов “generateClassMap()“, а также методы, подключающие все необходимые файлы, опираясь на созданную карту классов. Теперь перейдём к ключевому методу класса “AutoLoader”. Это метод “generateClassMap()“. Он самостоятельно создаёт карту классов. Сначала создаётся пустой...

0
autoloader2

Класс «AutoLoader». Часть 2

Продолжаем разбирать класс “AutoLoader”. В этой части будут рассмотрены методы, которые, в дальнейшем, позволят автоматизировать процесс создания карты классов. “getMapDirectory()” – этот метод возвращает содержимое массива “classMapFrom“. В нём хранится список папок (директорий), которые потом будут просканировать. Все файлы “.php”, обнаруженные в этих папках, заносятся в массив “files“. “hasMapDirectory()” –...

0
autoloader2

Класс «AutoLoader». Часть 1

Для чего нужен автозагрузчик? Он позволяет подключить все необходимые для работы CMS файлы. Причём подключение происходит автоматически, при запуске системы. Это избавляет разработчика от необходимости подключать все файлы вручную. Конечно когда этих файлов не так много, то от автозагрузчика пользы мало. Но если количество этих файлов перевалит за сотню? А...

0
Exceptons

Класс «Exceptions»

В данной статье я опишу класс обработки ошибок, который буду использовать в последующем. Использование данного класса позволяет зафиксировать большинство ошибок, которые могут возникнуть при работе CMS. Итак создадим файл “Exceptions.php” в папке “site_address/includes/core/”. В нём пропишем класс “Exceptions”. Обозначим пространство имён “Wp\Core”. Импортируем класс “ErrorException” с помощью оператора “use”. В...

0
cms-core

Класс “GlobalVariables”

Прежде чем перейти к подробному разбору ядра WordPresss, необходимо провести некоторые подготовительные работы. Так как я намереваюсь вносить изменения в ядро CMS, то необходимо определиться со структурой папок в моём проекте. Она будет следующей: Папка “admin” будет содержать в себе все файлы, необходимые для работы административной панели. Папка “content” включает...

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