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

15

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

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

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

Саймон Гиббс
источник

Ответы:

17

wp-includesсодержит все необходимое для запуска WordPress через внешний интерфейс (а затем и немного). Это территория WordPress Core, и, как гласит пословица, никогда не модифицируйте ядро ​​ни при каких обстоятельствах.

Хотя wp-contentмогут определять плагины и темы, сам API и подавляющее большинство ядра WordPress находятся в этой папке. Они зависят почти от всего WordPress. Все ваши стандартные функции и их зависимости будут найдены в этой папке.

Это делает его ценным ресурсом для исследований и поиска вещей.

wp-admin может определять дополнительные элементы, но это не так важно для работы внешнего интерфейса

./wp-admin    - Admin code
./wp-content  - User-defined code and content
./wp-includes - Common files

Что касается надежности файлов в этой папке, вы не должны полагаться на файлы в этой папке. Вам никогда не нужно включать файл или путь из wp-include, и если вы пытаетесь или должны это делать, то вы сделали что-то ужасно неправильное и должны остановиться и вернуться назад.

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

За пределами обновлений WordPress, wp-includesникогда не следует изменять и в идеале следует только для чтения.

Если вам нужно добавить зависимость к вашему коду, используйте версии из wp-includes, а не свои собственные. Например, не включайте пользовательский jQuery, используйте тот, который входит в состав WordPress (не отменяйте его регистрацию и не регистрируйте его повторно).

Изменения в wp-includes могут привести к угрозам безопасности, снижению производительности, поломке плагинов / тем и т. Д.

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

Том Дж Новелл
источник
5

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

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

Чип Беннетт
источник
3

WordPress, как приложение, состоит из нескольких движущихся частей. /wp-includesПапка содержит общие функциональные возможности для WordPress API (который вы используете в темах / плагинов) и WordPress администратора.

Итак, в основном:

./wp-admin    - Admin code
./wp-content  - User-defined code and content
./wp-includes - Common files

В /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.

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

wp-includesкаталог, который содержит большинство основных функций WordPress. Здесь живет весь основной код WordPress.

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

WordPress Trac - это основная область, которая решает, как WordPress будет двигаться вперед, поэтому, если у вас есть мнения / дополнения, примите участие в этом :)

Zach
источник