Почему бы не включить ссылку на /wp-admin/admin.php в плагине
Контактная форма 7 недавно выпустила обновление, которое вызвало несколько конфликтов в других плагинах. Автор WPCF7 объясняет, что это связано с тем, что плагины включают в свои скрипты вызовы wp-admin/admin.php
, которые вы не должны делать в плагине. Такаюки Миеси объясняет это здесь, но я не уверен, что точно понимаю почему это вызовет какие-либо проблемы или чем это отличается от вызова say wp-load.php
.
Не мог бы кто-нибудь объяснить, почему рекомендуется никогда для загрузки wp-admin/admin.php
в ваш плагин и как это может вызвать проблемы?
1 answers
Может ли кто-нибудь объяснить, почему рекомендуется никогда не загружать wp-admin/admin.php в вашем плагине и как это может вызвать проблемы?
Потому что он загружает WordPress вне контекста - ну, части WordPress. И это может привести к неожиданным эффектам, таким как не загружаемые функции или двойная загрузка функций (что приведет к фатальным ошибкам). У вас будут проблемы с крючками, стреляющими несколько раз или не стреляющими. У вас могут возникнуть проблемы с константами. Возможно, у вас не было проблема, но это зависит от того, как и почему загружаются файлы.
...чем это отличается от вызова, скажем
wp-load.php
[?]
wp-load.php
это загрузочный файл, который admin.php
загрузит примерно тридцать с чем-то строк. Это похожий взлом, и у него могут быть похожие проблемы. Этого тоже не следует делать.
Существует очень мало причин для использования любой из этих техник. WordPress должен быть загружен для вас плагином для большинства целей, а если нет, скажите, что вам нужно сделать отдельный запрос, используйте AJAX API, который будет правильно загружать WordPress.