Для чего нужна папка wp-includes в WordPress?
Для чего нужна папка wp-includes в WordPress? То есть, каково её фундаментальное архитектурное назначение, например, почему её содержимое не находится в темах или папке админ-панели?
Может ли разработчик плагинов полагаться на её содержимое (например, jQuery) и как долго это будет актуально?
Также хотелось бы знать, кто решает, что помещается в эту папку и как она поддерживается при изменениях WordPress, и есть ли где-то документация с описанием этой политики?

wp-includes
содержит все необходимое для работы WordPress на фронтенде (и даже больше). Это территория ядра WordPress, и, как гласит поговорка, ни при каких обстоятельствах не следует изменять ядро.
Хотя wp-content
может определять плагины и темы, сам API и подавляющее большинство ядра WordPress находятся в этой папке. Практически весь WordPress зависит от этих файлов. Все стандартные функции и их зависимости можно найти в этой папке.
Это делает ее ценным ресурсом для исследований и поиска информации.
wp-admin
может содержать дополнительные элементы, но он не так важен для работы фронтенда.
./wp-admin - Код админки
./wp-content - Пользовательский код и контент
./wp-includes - Общие файлы
Что касается надежности файлов в этой папке — не стоит полагаться на них. Вам никогда не понадобится включать файл или путь из wp-includes
, и если вы пытаетесь это сделать или вам это нужно, значит, вы совершили серьезную ошибку и должны остановиться и пересмотреть подход.
Хотя файлы в этой папке могут изменяться без предупреждения, это не должно иметь последствий, поскольку API сохраняет обратную совместимость в течение значительного времени.
За пределами обновлений WordPress папка wp-includes
никогда не должна изменяться и в идеале должна быть доступна только для чтения.
Если вам нужно добавить зависимость в свой код, используйте версии из wp-includes
, а не добавляйте свои собственные. Например, не подключайте пользовательский jQuery — используйте тот, который поставляется с WordPress (и не отменяйте его регистрацию, чтобы зарегистрировать заново).
Изменения в wp-includes
могут привести к рискам безопасности, снижению производительности, поломке плагинов/тем и другим проблемам.
Изменения в пакетах и библиотеках анонсируются заранее перед выпуском. Старые зависимости, которые больше не требуются (например, старый цветовой пикер), сохраняются, но помечаются как устаревшие, чтобы избежать поломки кода.

Директория wp-includes
содержит пакеты, включённые в ядро WordPress. Команда разработчиков ядра поддерживает пакеты, находящиеся в wp-includes
. Темы и плагины могут рассчитывать на доступность этих пакетов в любой версии WordPress.
Это важная причина, по которой крайне необходимо подключать только версии скриптов, входящие в состав ядра, используя регистрацию скриптов, определённую в ядре, например: wp_enqueue_script( 'jquery' )
. Это гарантирует, что ваша тема или плагин всегда будут использовать версию, поставляемую с ядром, независимо от версии WordPress.

WordPress как приложение состоит из нескольких взаимосвязанных компонентов. Папка /wp-includes
содержит общую функциональность для WordPress API (который вы используете в темах/плагинах) и админ-панели WordPress.
Итак, вкратце:
./wp-admin - Код админ-панели
./wp-content - Пользовательский код и контент
./wp-includes - Общие файлы
Директория /wp-includes
— это место, где хранятся полезные сторонние библиотеки (например, SimplePie для RSS и IncutioRPC для XML-RPC). Здесь же определяется большая часть WordPress API (например, WP_Http, WP_Filesystem).
Может ли разработчик плагинов полагаться на её содержимое? И как долго?
Да. Эти файлы и определяют WordPress API изначально. Основная команда разработчиков прилагает большие усилия для сохранения обратной совместимости, поэтому если в WordPress будут внесены изменения, которые нарушат вашу функциональность, вы узнаете об этом заранее.
Я также хотел бы узнать, кто решает, что туда попадает, как это поддерживается при изменениях WordPress и есть ли где-то документация в виде политики?
Решения по API WordPress принимаются командой разработчиков. Обычно изменения можно отслеживать на http://make.wordpress.org/core. Библиотеки всегда поддерживаются, поскольку их изменения и формируют эволюцию WordPress.

wp-includes
— это директория, содержащая основную функциональность WordPress. Здесь находится весь ключевой код WordPress.
WordPress отлично справляется с поддержанием обратной совместимости между версиями. Вы можете использовать функции из этой папки для создания плагинов (именно так вы подключаетесь к системе).
WordPress Trac — это основная площадка, где принимаются решения о развитии WordPress. Если у вас есть идеи или предложения, присоединяйтесь к обсуждению :)

В руководстве Make WordPress Core есть полезная страница под названием Кодовая база WordPress, которая дает хороший обзор Как организован код в WordPress, включая:
Каталог wp-includes содержит основные библиотеки ядра WordPress и сторонние библиотеки. Многие из этих файлов загружаются во время начальной загрузки приложения.
Файлы в wp-includes следуют (в основном) стандартному набору префиксов и суффиксов:
- class-*.php – PHP-классы. Некоторые из них являются внешними библиотеками.
- ms-*.php – Код, специфичный для функциональности мультисайтов WordPress.
- default-*.php – Код, реализующий или определяющий стандартную функциональность, а именно константы, виджеты и фильтры.
- *deprecated.php – Устаревшие функции.
- *-template.php – Функции шаблонов для соответствующего API.
Файлы в wp-admin/includes следуют аналогичным соглашениям об именовании.
и
Каталог wp-admin/includes содержит основные библиотеки ядра и сторонние библиотеки, доступные и используемые в административной области. Некоторые из них загружаются во время начальной загрузки админки; см. wp-admin/includes/admin.php для основного списка включаемых файлов.
и многое другое... проверьте это, народ 2022 года! :-)
