публикую запись, есть там текст вроде этого:
<p>текст
<br />текст
<br />текст
<br />текст</p>
сохраняю, смотрю запись – в исходнике
<p>текст</p>
<p>текст</p>
<p>текст</p>
<p>текст</p>
опять открываю в запись в вордпрессе – там текст с <br /> (визуальный редактор в WP отключен)
пробовал отключить все плагины – не помогает.
с чего вдруг WP форматирует текст, набранный не визуальным редактором и при отключенной опции исправлять некорректный xhtml-код?
блог какой-то получается проблемный, на нем не работают простейшие вещи, которые на другом блоге с такими же настройками пашут на ура. уже и не знаю в какую сторону рыть.
мля, даже отсутствие визуального редактора не помогает с глюками WP.
чтобы он не создавал левые абзацы, а использовал указанный <br /> нужно чтобы весь текст был в строчку. это в невизуальном редакторе-то! бред.
типа такого:
<p>текст <br />текст <br />текст <br />текст</p>
А попробуйте по-простому, без брыков, только переводы строки. Одиночный породит br, двойной – p.
я пишу то в Live Writer’е – там стоит форматирование XHTML. а для того, чтобы WP не портил этот текст я отключил визуальный редактор. впрочем ситуация даже хуже – даже без захода в редактор WP – просто опубликовав текст он все равно расставляет свои <p> и убирает <br>.
причем я не могу в Live Writer’е отрубить переносы строк после указанного <br /> – при xhtml он форматирует исходный текст в соответствии с нормами.
раньше вроде бы WP не занимался такой фигней как переформатирование текста. особенно без визуального редактора и особенно когда в редактор вообще не заходят.
PS угу, получилось в редакторе такое провернуть – перевод строки делает <br>, а двойной перевод <p>. прям как в визуальном редакторе (( как с этой напастью бороться я хз ((
попробовал на другом блоге, где после обновления до 2.5.1 я еще не писал записей – аналогичная фигня. у меня были шаблоны, по которым я писал посты – теперь работать с ними в Live Writer’е не могу и переформатировать тоже не могу – Live Writer все равно разметку похерит при переходе в HTML форматирование.
в чем теперь различие визуального и не визуального редактора в WP мне не ясно. написать код можно какой угодно не в визуальном редакторе – только WP все равно этот код пропустит через визуальный редактор и исправит то, что считает неправильным. кошмар ((
попробовал визуальный редактор – пишу:
текст [enter]
текст [enter]
текст [enter]
по идее каждое слово "текст" теперь должно быть абзацем <p> – переключаюсь в HTML – пусто.
отсюда вопрос – где отрубить фильтр или что-то там еще, через что WP пропускает тексты записей. не нужно мне, чтобы WP за меня решал как я оформляю тексты. отсутствие визуального редактора теперь не помогает как в 2.3.3
PS продолжение. захожу в эту сохраненную запись с визуальном редактором. вижу на 1 секунду код:
<p>текст</p>
<p>текст</p>
<p>текст</p>
через секунду визуальный редактор превращает этот код в то, что я набрал выше. переключаюсь в HTML – нету там теперь <p> вообще. аналогичный текст, что я вижу и в визуальном редакторе. ну не бред? HTML редактор, который не показывает HTML-разметку. и сам WP, который хранит код в одном формате – показывает его в блоге в другом формате, меняя его на лету.
я в полном растройстве, столько теперь гиммора будет с опубликованием простейших текстов (((
Вопрос в догонку. Как устроить отступ первой строки в абзаце, красную строку?
такое не в редакторе делается, а через css.
что-то типа
#content p{
text-indent: 20px;
}
По идее <p> появится при выводе. В редакторе и в базе так и будут двойные переводы строк.
На странице:
ну мне непонятно почему HTML редактор не показывает HTML. но да неважно – выяснил проблему. если в коде есть конструкция типа
<pre> </pre>, то весь код ниже него переформатируется. причем при всех выключенных плагинах (плагин, который и использует <pre> тоже отключен).
придется или отказаться от плагина или от конструкции <pre></pre> (у меня она для плагина WP_Syntax), это служебная конструкция или как? почему даже при выключенном плагине она рушит разметку html?
хм, это не тег WP, а HTML. почему даже после закрытия </pre> он ломает текст ниже себя не пойму, баг что ли какой-то с WP.
Посмотрите kses.php, может надо просто добавить pre в $allowedtags.
с kses.php не получилось – явно баг какой-то в WP. зато исправив в коде плагина конструкцию на <test> </test> все получилось, и код в <test> оформляется как мне надо и переформатирования ниже больше нет.
огромное спасибо еще раз Юрий, выручаете в самых непонятных ситуациях.
хотя замена на <test> испортила форматирование самого кода, заключенного в тегах <test>. видимо плагин wp_syntax только разукрашивал разметку кода, а форматированием занимался именно <pre>. ладно, поищу другой плагин.
Посмотреть, что ли, плагин?..
upd вставил кусок php в середину поста – всё нормально, ничего не испортилось, php покрасилось.
по умолчанию? с <pre lang="php"> ?
просто если опубликовать вот такой текст:
то получим, что верхний текст в записи форматируется как надо – а текст после <pre> уже через строчку скачет. счас скриншот сделаю, а то чувствую плохо объясняю.
вот что я имею ввиду и что мне мешает жить. после использовать этого <pre> я должен лезть в админку WP, залезать в редактор кода и вручную убирать <br /> и расставлять переносы строк. что естественно меня не устраивает – я уж лучше плагин другой найду, не использующий конструкцию <pre>, а использующий например <code>
Ничего не трогал. Поставил плагин и отредактировал пост.
то у меня получается вот такой скрин

а как он вставлен? через визуальный редактор? через HTML-редактор?
Поклацал туда-сюда визуал-html – <br> и <p> пропали, остались только двойные LF, внешний вид не изменился. Нет, вру, немного уменьшилась дырка между текст и текст2, теперь все интервалы одинаковые.
Разумеется, в HTML, там же теги.
ну вот приходится в html или в визуальном редакторе убирать переводы строки. формально – если бы вставлялся чистый xhtml-текст, то запись должна была бы выглядеть как у меня на скриншоте до <pre>, а не как после <pre>
проблемы в общем-то две: одна, что WP генерирует уже якобы сгенерированный HTML-код, заменяя одиночные переводы строки через <br>, а двойные <p>. не знаю больше ни одного редактора HTML, который творил бы такое безобразие – в школе учат, что в языке разметке HTML символы перевода строки ничего не значат и служат лишь для удобства верстальщика. лет десять назад я с трудом въезжал в эту концепцию, когда конструировал свой первый сайт – и теперь в обратную переучиваться сложно.
ну и вторая проблема, при публикации через Live Writer, когда html-текст WP не генерирует заново на основе переводов строк, а после <pre> начинает этим заниматься.
ни на одну из проблем я решения не знаю. но могу хотя бы отказаться от использования <pre> – <code> тоже сохраняет переводы строк, надо только найти плагин подсветки кода с использованием <code>
но в целом такая ситуация мне не нравится ((
А попробуйте такое "лекарство"
remove_filter(‘the_content’, ‘wpautop’);
remove_filter(‘the_content’, ‘wptexturize’);
сработало )) в сотый раз громаднейшее спасибо!
а что эти фильтры делают? autop понятно из названия, а wptexturize?
А черт его знает, я подсмотрел это в плагине inline-js.php 😆
сработало )) в сотый раз громаднейшее спасибо!
а что эти фильтры делают? autop понятно из названия, а wptexturize?[/quote]
Погодите, а куда это нужно вставить?
в functions.php вашей темы
В моей теме нет такого файла. 😉
ну так создайте его со следующим содержимым:
а у меня так и не получилось по нормальному проблему решить, тем более в php я не силён, теперь я просто текст вставляю в поле HTML и где надо сделать новый абзац вставляю такую вот казябру 🙂
<p> </p>