Для чего нужна папка wp-includes в WordPress?

4 дек. 2012 г., 18:16:00
Просмотры: 68.1K
Голосов: 18

Для чего нужна папка wp-includes в WordPress? То есть, каково её фундаментальное архитектурное назначение, например, почему её содержимое не находится в темах или папке админ-панели?

Может ли разработчик плагинов полагаться на её содержимое (например, jQuery) и как долго это будет актуально?

Также хотелось бы знать, кто решает, что помещается в эту папку и как она поддерживается при изменениях WordPress, и есть ли где-то документация с описанием этой политики?

0
Все ответы на вопрос 5
0
21

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 могут привести к рискам безопасности, снижению производительности, поломке плагинов/тем и другим проблемам.

Изменения в пакетах и библиотеках анонсируются заранее перед выпуском. Старые зависимости, которые больше не требуются (например, старый цветовой пикер), сохраняются, но помечаются как устаревшие, чтобы избежать поломки кода.

4 дек. 2012 г. 18:46:39
0

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

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

4 дек. 2012 г. 18:22:51
1

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.

4 дек. 2012 г. 18:24:15
Комментарии

Не файлы определяют API, а функции и классы в этих файлах. Файлы могут перемещаться или исчезать без каких-либо изменений в API.

fuxia fuxia
4 дек. 2012 г. 18:25:29
0

wp-includes — это директория, содержащая основную функциональность WordPress. Здесь находится весь ключевой код WordPress.

WordPress отлично справляется с поддержанием обратной совместимости между версиями. Вы можете использовать функции из этой папки для создания плагинов (именно так вы подключаетесь к системе).

WordPress Trac — это основная площадка, где принимаются решения о развитии WordPress. Если у вас есть идеи или предложения, присоединяйтесь к обсуждению :)

4 дек. 2012 г. 18:21:37
0

В руководстве Make WordPress Core есть полезная страница под названием Кодовая база WordPress, которая дает хороший обзор Как организован код в WordPress, включая:

wp-includes

Каталог 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 содержит основные библиотеки ядра и сторонние библиотеки, доступные и используемые в административной области. Некоторые из них загружаются во время начальной загрузки админки; см. wp-admin/includes/admin.php для основного списка включаемых файлов.

и многое другое... проверьте это, народ 2022 года! :-)

1 авг. 2022 г. 13:18:16