Перестал работать медиа загрузчик WordPress
Обновился до версии 3.3.1, поставил новую тему и конечно же, захотел добавить новый пост. Да не простой пост, а с картинкой. Но не тут-то было, новый media-загрузчик загружался, но на нажатие на кнопку "Выберите файлы" ничего не происходило. А по нажатию на ссылку "Попробуйте загрузчик браузера. ", я получал окно с 400 ошибкой. "Неплохо обновился" - подумал я и полез в поиск..
Надо сказать, что последнее время, я трачу в поиске, большую часть своего времени. Не потому что, мне там нравится, а потому что все с чем сталкиваюсь, реально кривое какое-то. Начиная от настройки софта на linux серверах, заканчивая использованием сторонних библиотек в разработке. Единственное что радует меня, это новые темы для постов, и накопление опыта, который рядовые разработчики, нигде не смогут получить.. Соответственно я на фоне их, могу продать свои скиллы немного дороже.. Ну, хватит соплей, вернемся к поломанному загрузчику..
Первое что я подумал, это тупо ошибки в коде загрузчика. Открывшаяся консоль FireBug-а сказала, что я не прав, там было чисто. Тогда я подумал, что проблема в AdBlock-е, но он был отключен. На всякий случай, я проверил в другом броузере, поведение такое же, проблемы либо в скриптах, либо на сервере. Дальше я проверил права на папки с upload-ом, там тоже было все ок. Потом я нашел этот пост на хабре, в комментах которого говорилось, что могут быть проблемы из-за скриптов. Ага, значит возможно это не проблема WP, а проблема темы. Пошел изучать тему..
В теме у меня была вот такая загрузка jquery, в файле functions.php:
самая первая строчка меня и насторожила. Если деактивируется старый jquery, то возможно хериться какой-то функционал, т.к. в WP версия может быть иная. Так и получилось, я закоментил, это подключение, и загрузчик заработал. Отлично.
Теперь мне оставалось только, добавить подключение JQuery в саму тему. Это я сделал обычным образом, добавив подключение скрипта через html теги в файле header.php:
после этого проверил, функционал темы, который использовал JQuery, он работал. Значит проблема решена!
--[добавлено 02.07.12]--
Как заметил правильно в комментариях xelay, правильнее все же использовать подключение через functions.php. Поэтому я отказался от подключения jquery в header.php, и переписал подключение в functions.php, вот так:
т.е. я подключаю JQuery для всего кроме админки. Этот способ так же работает, и проблемы не замечено.
Author: | Tags: /
| Rating:
3 comments.
Write a comment