Как сделать перенос по словам в wordpress

Добавил пользователь Владимир З.
Обновлено: 10.09.2024

Не работает разрыв строки в WordPress – распространенная проблема, с которой сталкиваются пользователи. Вы изо всех сил пытаетесь заставить ваше форматирование правильно работать в WordPress? Давайте рассмотрим несколько полезных советов и уловок, которые помогут вам обойти эту известную проблему в WordPress.

С обновлением WordPress до версии 3.2 текстовый редактор, кажется, сам удаляет разрыв строки. При вводе текста в текстовом редакторе форматирование сохраняется, и все разрывы строк также отображаются в предварительном просмотре. Однако все теги абзацев и разрывов строки, кажется, исчезают, когда текст сохраняется, а вы переходите и просматриваете страницу. WordPress просто удаляет соответствующие теги всякий раз, когда вы добавляете дополнительный интервал в текстовом редакторе. В результате созданная вами правильно отформатированная текстовая страница выглядит совершенно иначе при сохранении, поскольку все лишние интервалы или пустые строки удаляются.

Здесь, в конструкторе веб- сайтов WordPress Templatetoaster, давайте рассмотрим проблему с помощью примера публикации с тремя строками и несколькими межстрочными интервалами.

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Опубликованный пост в WordPress

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Многие пользователи WordPress борются с этой проблемой, когда разрыв строки в WordPress не работает. В этой статье мы обсудим некоторые возможные способы обойти эту проблему.

1. Используйте пустые классы в элементах HTML

Вы можете заставить WordPress предполагать, что ваши HTML-элементы содержат определенные атрибуты. Это можно сделать, добавив атрибуты к элементам HTML с использованием пустых классов. Например:

Вместо этого напишите:

2. Отключить форматирование Autop.

Мы можем легко использовать функцию remove_filter, чтобы отключить фильтр wpautop. В файл functions.php нужно добавить следующий код:

Если вы используете несколько тем, вам необходимо добавить эту функцию в виде плагина. Вы можете разместить код в файле PHP в каталоге / wp-content / plugins.

Опубликован пост после отключения автозапуска

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

3. Тег HTML br не работает: используйте плагин TinyMCE Advanced.

TinyMCE-Advanced плагин добавляет возможность отключить автоматическое удаление и
теги. Возможность отключить / включить разрыв строки WordPress присутствует в панели Настройки-> TinyMCE Advanced.

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

4. Работа с редактором HTML.

Это простое решение для людей, знакомых с HTML. Вы можете отказаться от работы с визуальным редактором и переключиться в режим HTML в редакторе WordPress. Режим HTML позволяет вам контролировать вывод и позволяет добавлять или удалять разрывы строк. Просто используйте тег
везде, где хотите вставить разрыв строки.

5. Добавьте фильтр для замены тега
.

Добавьте фильтр в файл functions.php, который добавляет атрибут clear к тегу
. При добавлении атрибута тег
не удаляется WordPress.

Опубликовать перед добавлением фильтра

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Опубликованный пост после добавления фильтра

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

6. Создайте шорткод WordPress Line Break (br).

Вставьте следующий код шорткода в файл functions.php:

Теперь вставьте показанный ниже шорткод туда, куда вы хотите вставить пробел.

Добавление шорткода в текстовом редакторе

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Опубликованный пост после добавления шорткода

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

7. Тег HTML Br не работает – используйте CSS.

Некоторые разработчики считают, что теги
не следует использовать для стилизации страниц. HTML – это семантический язык, который нельзя использовать для определения информации о позиционировании, стиле или макете. Используйте CSS для создания стиля или размера полей абзаца с помощью таблиц стилей. Если у вас есть базовые знания CSS, то все, что вам нужно для добавления пробелов абзаца, – это добавить нижнее поле к тегу

Откройте админку WP.

Выберите Внешний вид> Редактор.

Выберите файл style.css справа. Найдите тег

в файле style.css.
Добавьте следующие строки, чтобы добавить пробелы выше и ниже абзаца:

Пример:

После добавления этих двух строк это будет выглядеть так:

Сохраните файл.

Все абзацы получают пробелы сверху и снизу. Обратите внимание, что это добавит одинаковое количество места над и под всеми абзацами.

Разрыв строки в WordPress не работает: быстрые решения для сохранения форматирования текста

Последние мысли

Не работает разрыв строки в WordPress – известная проблема, и мы должны с ней жить. Поскольку обработка разрывов строк добавлена WordPress, мы не можем ожидать, что она изменит способ работы. Мы можем использовать только обходные пути или альтернативные методы для подавления поведения. Вы также можете посмотреть на TemplateToaster, конструктор веб-сайтов и создатель тем WordPress, как на инструмент для создания элегантных веб-сайтов WordPress, не вдаваясь в подробности WordPress. Программа для веб-дизайна TemplateToaster поставляется с рядом расширенных тем и плагинов, которые вы можете легко и гибко использовать. Использование этого инструмента, несомненно, предоставит вам легкий механизм для создания продвинутых веб-сайтов WordPress, не вдаваясь в ненужные детали.

По умолчанию функция применяется к следующим фильтрам:

Как видно WP использует эту функцию для фильтрации текста в the_content() и the_excerpt().

Возвращает

Строку . Отформатированную строку.

Использование

$pee(строка) (обязательный) Текст, который нужно отформатировать. $br(число/логический) Сохраняет простой перенос строки. Если поставить значение в true, то все, оставшиеся после преобразования параграфов, переносы строк будут изменены на
. Переносы строк внутри script и style блоков не изменяются.
По умолчанию: true

Примеры

В результате получим:

Если по каким-либо причинам нужно отключить этот фильтр у контента поста (the_content) или цитаты (the_excerpt), то используем такой код в functions.php файле:

Список изменений

Код wpautop() wpautop WP 5.8.3

', $pee ); $last_pee = array_pop( $pee_parts ); $pee = ''; $i = 0; foreach ( $pee_parts as $pee_part ) < $start = strpos( $pee_part, '

'; $pee .= substr( $pee_part, 0, $start ) . $name; $i++; > $pee .= $last_pee; > // Change multiple
's into two line breaks, which will turn into paragraphs. $pee = preg_replace( '|
\s*
|', "\n\n", $pee ); $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h2|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; // Add a double line break above block-level opening tags. $pee = preg_replace( '!( ])!', "\n\n$1", $pee ); // Add a double line break below block-level closing tags. $pee = preg_replace( '!( )!', "$1\n\n", $pee ); // Add a double line break after hr tags, which are self closing. $pee = preg_replace( '!( )!', "$1\n\n", $pee ); // Standardize newline characters to "\n". $pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // Find newlines in all elements and add placeholders. $pee = wp_replace_in_html_tags( $pee, array( "\n" => ' ' ) ); // Collapse line breaks before and after \s*|', ' ', $pee ); > /* * Collapse line breaks inside ' ) !== false ) < $pee = preg_replace( '|(|', ' ', $pee ); $pee = preg_replace( '%\s*( ]*>)\s*%', '$1', $pee ); > /* * Collapse line breaks inside and elements, * before and after and elements. */ if ( strpos( $pee, ' \]])\s*%', '$1', $pee ); $pee = preg_replace( '%\s*([ \]])%', '$1', $pee ); $pee = preg_replace( '%\s*( ]*>)\s*%', '$1', $pee ); > // Collapse line breaks before and after elements. if ( strpos( $pee, ' ]*>)|', '$1', $pee ); $pee = preg_replace( '| \s*|', ' ', $pee ); > // Remove more than two contiguous line breaks. $pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // Split up the contents into an array of strings, separated by double line breaks. $pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY ); // Reset $pee prior to rebuilding. $pee = ''; // Rebuild the content as a string, wrapping every bit with a

. foreach ( $pees as $tinkle ) < $pee .= '

\n"; > // Under certain strange conditions it could create a P of entirely whitespace. $pee = preg_replace( '|

, также при определенных значениях параметров будет заменять оставшиеся одинарные переносы строк на
.

"Одинарные" переносы строк (но не двойные), находящиеся в тегах или в игнорируются.

В WordPress эта функция используется для фильтрации the_content() и the_excerpt() .

$foo
(строка) (обязательное) — кусок текста, который необходимо обработать.

$br
(логическое|целое) (необязательное) — если установлено true или 1 , то все "одинарные" переносы строк, оставшиеся после замены двойных на

, будут преобразованы в
.

Примеры использования

Вот скриншот того, что получилось из исходного код (Ctrl + U) в Google Chrome:

результат действия функции wpautop

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

Если никак не обработать текст, получаемый из

, то в письме он весь становится в одну строчку, то есть абсолютно сплошной текст, который неудобно читать.

Для того, чтобы HTML-теги интерпретировались в письмах, а не выводились как текст, Content-type обязательно должен быть text/html .

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Когда я только установил WordPress, меня очень раздражало, что слова автоматически переносятся, хотя это и происходит по правилам русского языка.

Ответ нагуглился очень быстро, но пусть будет у меня под рукой:

Автоматические переносы

На момент написания этой статьи, для избавления от автоматических переносов я редактировал этот блок:

.entry-content -webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
word-wrap: break-word;
>


©2014-2021 Все права защищены.

Вся информация на сайте предоставляется в ознакомительных целях и не является офертой.

Читайте также: