Хочу рассказать историю из реальной жизни.
Публикую я очередной пост. Отформатировал, загрузил файлы, сохранил. Все как обычно.
Нажимаю на «Предварительный просмотр»… Текста нет. Заголовок на месте, рубрики тоже, а текста нет.
Пробую изменить текст в редакторе. Вырезал пару последних абзацев. Сохраняю…
Все отлично… Текст на месте.
Возвращаю абзацы назад… Текст снова исчезает.
Думаю, ничего себе, с каких это пор WordPress стал ограничивать длину поста?
Лезу на сервер смотреть базу. Весь текст на месте!
На всякий случай выполняю из phpMyAdmin запрос – работает.
После этого до меня «дошло». Если данные в БД есть и WordPress может их получить, а в блоге их нет, значит, кто-то их «съел» 😉 .
Виновник нашелся быстро — Dean’s Code Highlighter. Это плагин для подсветки кода. А для исправления ошибки оказалось достаточно его обновить до последней версии. Кстати, у меня стояла версия 1.1, а новая имеет номер 1.2.
О причине ошибки я тоже догадываюсь. Этот плагин перехватывает текст поста, ищет в нем фрагменты кода, анализирует их, вставляет дополнительные теги для подсветки и, затем, передает результат WordPress.
В тот раз пост был довольно длинный (6 страниц 12-ым шрифтом в Word’е) с большими вставками кода. В какой-то момент возникла ошибка и плагин вернул пустую строку, вместо отформатированного текста.
Мораль тут такая.
Если вы не сталкивались с багами – это не значит, что их нет 😉
Старайтесь следить за обновлениями, как самого движка, так и плагинов. Это не означает, что нужно переходить на новую версию сразу после ее выхода, но почитать change log бывает полезно.
Кстати, при апгрейде этого плагина пришлось подкорректировать таблицу стилей. Причина – разработчики изменили имя класса, который используется для подсветки кода.
До встречи!
Интересно почитать: