Javascript не работает в админке

23 июн. 2011 г., 15:38:10
Просмотры: 22.2K
Голосов: 2

Похоже, что весь javascript не работает, когда я захожу в админ-раздел моего сайта. Я не могу выполнить ничего, что требует javascript или AJAX: миниатюры Nextgen, организацию виджетов, даже админ-меню не работает.

Javascript во фронтенде сайта работает как положено.

Я просмотрел в firebug скрипты и нашел следующее (очевидно загружается в футере):

<script src="http://kainielsen.web44.net/wp-admin/load-scripts.php?c=1&load=jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,hoverIntent,common,jquery-color,wp-ajax-response,wp-lists,jquery-ui-resizable,quicktags,jquery-query,admin-comments,postbox,dashboard,thickbox,plugin-install,media-upload&ver=e0f647a6df61adcc7200ce17a647db7f" type="text/javascript">

Каким-то образом WordPress пытается загрузить все скрипты одновременно. Может ли это быть причиной неисправности?

Является ли это нормальным поведением WordPress? Или это могло произойти из-за того, что я использовал W3 Total Cache?

Главный вопрос в том, что если причина в одновременной загрузке всего, как это исправить?

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

Объединение скриптов в админ-панели — это стандартное поведение, но я не уверен, что попытка загрузить такое количество скриптов является нормальной.

Вы можете отключить объединение, определив константу CONCATENATE_SCRIPTS как false. В файле wp-config.php это будет выглядеть так:

define('CONCATENATE_SCRIPTS', false);

Смотрите Disable_Javascript_Concatenation в Кодексе.

W3TC не должен влиять на работу админки.

23 июн. 2011 г. 16:02:32
Комментарии

Какой скрипт нужно добавить в config.php? Я попробую его, спасибо. Я спросил, может ли это быть W3TC, потому что помню, что он спрашивает, объединять ли скрипты (но не помню, ответил ли я да или нет) — так как я удалил его в процессе поиска решения, я подумал, не осталось ли что-то после него...

Nick Nick
23 июн. 2011 г. 16:15:28

@Nick что-то вроде этого define('CONCATENATE_SCRIPTS', false);

Rarst Rarst
23 июн. 2011 г. 16:25:01

Поддерживаю @Rarst, у меня была такая же проблема на MU-установке, и это решило проблему.

kevin kevin
18 апр. 2012 г. 18:43:26
3

Скорее всего, у вас есть плагин, который работает некорректно. Попробуйте отключить все плагины, затем проверьте, исчезла ли проблема. Если да, то начните выявлять, какой именно плагин вызывает конфликт. Если проблема не исчезает при отключении всех плагинов, попробуйте также переключиться на стандартную тему, чтобы проверить, не в ней ли причина.

23 июн. 2011 г. 15:56:56
Комментарии

Моя тема основана на базе 2010, поэтому по сути это стандартная тема. И я удалил все плагины, которые не мешают работе сайта — все они корректно работают на локальном тестовом сайте.

Nick Nick
23 июн. 2011 г. 16:11:31

Придется признать свою ошибку!

Nick Nick
25 июн. 2011 г. 11:58:28

Причиной оказался небольшой фрагмент JavaScript, который не нравился админке. Я ограничил выполнение скрипта в админке, поместив функцию enqueue script в условие if(! admin) — вероятно, это хорошая практика для всех фронтенд-скриптов. Решив проблему, мой хостинг-провайдер затем без предупреждения стёр мой сайт... так бывает, видимо.

Nick Nick
25 июн. 2011 г. 12:07:45
0

У меня была такая же проблема после переноса сайта с локального сервера на веб-сервер.

Я заметил различия между файлом load-scripts.php, который генерировался на локальном сервере, и тем, что генерировал веб-сервер. Веб-сервер добавлял "двойные кавычки" в некоторых частях кода!

РЕШЕНИЕ (в моем случае): Я сравнил оба файла php.ini и обнаружил, что на веб-сервере были включены опции "magic_quotes". Отключил их (как в php.ini локального сервера) - и проблема решилась!

25 сент. 2011 г. 10:30:21
0

Загрузите свежую папку wp-admin. У меня это сработало. Такое может происходить на некоторых серверах из-за проблем, возникших во время загрузки файлов.

18 дек. 2012 г. 15:13:08
0

Я тоже чуть не поседел... :) Скрипты не загружались на одной конкретной странице, особенно wp-media, что приводило к ошибке "wp.media is not defined"... все решения не помогали. Оказалось, контент на этой странице был слишком объемным, а мой PHP Memory Limit был слишком низким. Увеличение MemoryLimit с 256 до 512 решило проблему... Привет ;)

30 авг. 2021 г. 13:08:21