Столкнулся с неприятной ситуацией, настраивая WordPress. Блоки, в которых выводится исходный код, отображались по-разному в самом посте и на главной странице. Причём отображение касалось не только внешнего вида. Искажался сам код. А это уже серьёзнее, т.к. могло ввести в заблуждение читателей. Сразу скажу: галочка «Параметры → Написание → WordPress должен исправлять некорректный XHTML-код автоматически» у меня снята.
Например, вот вид одного и того же кода из поста про два приложения на одном телефоне. Внутри записи:
android:versioncode="20110420"
android:versionname="1.8.0"
package="ru.e_num.test"
xmlns:android="http://schemas.android.com/apk/res/android">
И на главной странице:
android:versionname="1.8.0"
package="ru.e_num.test"
xmlns:android="http://schemas.android.com/apk/res/android"></manifest>
Как видите, отличия значительны: на главной странице первые две строки слепились, из-за этого выделяться стала не та строка, а в конец кода добавился закрывающий тег </manifest>
, которого там не было.
Причём проблема возникала не на каком-то одном плагине. Я пробовал и WP-Syntax, и CodeColorer (в пользу которого, кстати, сделал выбор среди плагинов для подсветки синтаксиса).
Признаюсь, причину болезни я не нашёл. Однако симптомы можно лечить двумя путями:
- Не использовать блоки с подсветкой синтаксиса до ката (тега
<!--more-->
). - Принудительно включать режим escaped и заменять угловые кавычки
< >
на< >
Второй вариант можно включить в WP-Syntax с помощью <pre>
, а в CodeColorer — <code>
, [cc escaped="true"]
или [cce]
.
Кто знает истинную причину проблемы, сообщите, пожалуйста. Хотелось бы исправить ситуацию без «костылей».