Почему бы не включить ссылку на /wp-admin/admin.php в плагине


Контактная форма 7 недавно выпустила обновление, которое вызвало несколько конфликтов в других плагинах. Автор WPCF7 объясняет, что это связано с тем, что плагины включают в свои скрипты вызовы wp-admin/admin.php, которые вы не должны делать в плагине. Такаюки Миеси объясняет это здесь, но я не уверен, что точно понимаю почему это вызовет какие-либо проблемы или чем это отличается от вызова say wp-load.php.

Не мог бы кто-нибудь объяснить, почему рекомендуется никогда для загрузки wp-admin/admin.php в ваш плагин и как это может вызвать проблемы?

Author: Howdy_McGee, 2015-06-16

1 answers

Может ли кто-нибудь объяснить, почему рекомендуется никогда не загружать wp-admin/admin.php в вашем плагине и как это может вызвать проблемы?

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

...чем это отличается от вызова, скажем wp-load.php[?]

wp-load.php это загрузочный файл, который admin.php загрузит примерно тридцать с чем-то строк. Это похожий взлом, и у него могут быть похожие проблемы. Этого тоже не следует делать.

Существует очень мало причин для использования любой из этих техник. WordPress должен быть загружен для вас плагином для большинства целей, а если нет, скажите, что вам нужно сделать отдельный запрос, используйте AJAX API, который будет правильно загружать WordPress.

 3
Author: s_ha_dum, 2015-06-16 17:30:19