Как запретить WordPress преобразовывать переносы строк в теги br

19 мая 2012 г., 21:31:32
Просмотры: 14.5K
Голосов: 9

Меня раздражает ужасный HTML-редактор WordPress, и я решил писать весь свой HTML в Notepad++, а затем просто копировать его. Однако простые переносы строк "\n", которые обычно игнорируются в HTML, преобразуются в теги <br />. Я отключил визуальный редактор, поэтому всё, что я сохраняю, должно быть точным HTML-кодом, который отображается. Но это не так. Как остановить WordPress от преобразования моего HTML?

1
Комментарии

Ну, тег <br /> — это именно разрыв строки в HTML. Если вы используете разрывы строк в Notepad++ для создания нового абзаца, просто сделайте два разрыва строки, и WordPress завершит предыдущий абзац и начнет новый. Если вы не хотите разрывов строк в своей записи, то зачем вы их делали при написании поста в Notepad++?

Mateusz Hajdziony Mateusz Hajdziony
19 нояб. 2012 г. 03:06:02
Все ответы на вопрос 2
4
13

Это обрабатывается фильтром под названием wpautop (объявлен в wp-includes/formatting.php, строка 189).

Вы можете удалить его с помощью этого кода:

remove_filter('the_content', 'wpautop');
20 мая 2012 г. 00:40:37
Комментарии

Вы также можете сделать это с помощью плагина wpautop control и установить настройки по умолчанию для всего сайта, а также индивидуальные настройки для каждой записи. Подробнее на http://blog.bigsmoke.us/2010/12/09/wpautop.

Shital Shah Shital Shah
11 апр. 2014 г. 04:05:50

Вышеупомянутое решение от @jlenstorf, похоже, не применимо к моим последним установкам WordPress 4.x. Этот зрелый плагин кажется популярным. http://wordpress.stackexchange.com/a/227428/93125

Johnny Utahh Johnny Utahh
22 мая 2016 г. 03:02:28

@JohnnyUtahh Я не уверен, есть ли что-то еще в ваших установках 4.x, но я только что проверил на сайте с версией 4.5.2, и отключение фильтра все еще работает. Если вы посмотрите исходный код плагина, на который вы ссылаетесь, он по сути делает то же самое, но с кучей накладных расходов на стороне администрирования.

jlengstorf jlengstorf
23 мая 2016 г. 16:24:42

Отличное решение! И оно до сих пор работает на WordPress 4.7.5. Я добавил remove_filter('the_content', 'wpautop'); в файл "/wp-content/themes/my_theme/functions.php", чтобы всё оставалось в одном месте.

Tarik Tarik
18 июн. 2017 г. 11:56:39
2

Плагин Toggle wpautop.

Это самое популярное решение, которое я нашел, и оно хорошо работает для меня. На странице плагина указано более 10 000 установок и 100% 5-звездочных оценок (23 из них) по состоянию на 21 мая 2016 года.

Описание страницы плагина:

Перед тем, как WordPress отобразит содержимое записи, оно проходит
через несколько фильтров, чтобы гарантировать безопасное отображение
так, как вы ввели его в редакторе.

Один из этих фильтров — wpautop, который заменяет двойные переносы строк
на теги <p>, а одинарные переносы строк — на теги <br />. Однако
этот фильтр иногда вызывает проблемы, когда вы вводите много HTML-разметки
в редакторе записи.

Этот плагин добавляет флажок в метабокс публикации на экране редактирования
записи, который отключает фильтр wpautop для этой записи.

Также добавляет класс 'wpautop' или 'no-wpautop' к фильтру post_class
для удобства CSS-стилизации.

Ответ jlengstorf, похоже, не применим к моим установкам WordPress 4.x.

22 мая 2016 г. 02:56:03
Комментарии

Хотя данная ссылка может отвечать на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответы, состоящие только из ссылок, могут стать недействительными, если связанная страница изменится. - Из обзора

Sumit Sumit
22 мая 2016 г. 09:23:32

Понял, спасибо. Решает ли моё недавнее обновление ответа эту проблему?

Johnny Utahh Johnny Utahh
22 мая 2016 г. 15:39:50