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

Добавил пользователь Алексей Ф.
Обновлено: 05.10.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 Все права защищены.

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

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