В WordPress имеется возможность автоматического форматирования текста при создании или редактировании публикаций. Эта функция отвечает за добавление кавычек, отступов, переносов строк и других элементов форматирования.
Однако нередко работа этой функции вызывает ряд неудобств, особенно когда необходимо создать страницу с непростым оформлением. Обратите внимание, что автоформатирование продолжает функционировать даже в режиме Текст, добавляя теги и , которые не видны в редакторе и которые невозможно удалить вручную.
Чтобы отключить автоматическое форматирование в WordPress, существует несколько методов:
- Использование плагина: Так как WordPress по умолчанию не предоставляет явной опции для отключения автоформатирования, вы можете установить плагин, такой как «Disable WordPress Auto Formatting», который позволит вам настраивать форматирование под свои нужды.
- Редактирование functions.php: Если у вас есть доступ к файлу
functions.phpвашей темы, вы можете добавить следующий код:remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop');Этот способ отключает автоформатирование для содержимого публикаций и отрывков.
- Использование HTML-тегов: Также можно вручную добавлять HTML-теги для управления форматированием. Например, использование
<pre>или<code>для текста, который не должен быть отформатирован.
Не забывайте делать резервные копии перед внесением изменений в файлы вашей темы или установкой новых плагинов, чтобы избежать потери данных. Экспериментируйте с этими методами, чтобы выявить тот, который работает лучше всего для вашего проекта.
Как в WordPress отключить автоматическое форматирование?
Деактивировать автоформатирование в редакторе WordPress можно как частично, так и полностью. Рассмотрим все возможные варианты.
Важно отметить, что для всех последующих действий потребуется редактирование основного конфигурационного файла активной темы WordPress – functions.php.
Если вы не знаете, как работать с functions.php, воспользуйтесь плагином ProFunctions.
Отключение
и
По умолчанию в редакторе WordPress абзацы обрамляются тегами
, после чего осуществляется перенос на новую строку с использованием (
).
Чтобы отключить данную функцию, добавьте следующий код:
// отключение тегови
в публикациях remove_filter( 'the_content', 'wpautop' ); // отключение тегови
в анонсах remove_filter( 'the_excerpt', 'wpautop' ); // отключение тегови
в комментариях remove_filter( 'comment_text', 'wpautop' );
Отключение
и
на отдельных страницах
Чтобы отключить автоматическую вставку и на конкретной странице, необходимо в ее шаблоне, до вывода контента поста (the_content()), добавить специальный фильтр:
// отключение тегови
на отдельной странице remove_filter( 'the_content', 'wpautop' );
Отключение спецсимволов
К спецсимволам относятся: кавычки, двойные тире, знак торговой марки, символ дюйма, троеточие и другие. Для их отключения в редакторе WordPress используйте следующий код:
// отключение спецсимволов в публикациях remove_filter( 'the_content', 'wptexturize' ); // отключение спецсимволов в анонсах remove_filter( 'the_excerpt', 'wptexturize' ); // отключение спецсимволов в комментариях remove_filter( 'comment_text', 'wptexturize' );
Отключение заглавной буквы Р
// отключение заглавной буквы Р в заголовках remove_filter( 'the_title', 'capital_P_dangit', 11 ); // отключение заглавной буквы Р в публикациях remove_filter( 'the_content', 'capital_P_dangit', 11 ); // отключение заглавной буквы Р в анонсах remove_filter( 'the_excerpt', 'capital_P_dangit', 11 ); // отключение заглавной буквы Р в комментариях remove_filter( 'comment_text', 'capital_P_dangit', 31 );
Частичное отключение автоформатирования
Иногда необходимо отключить автоматическое форматирование для определенных фрагментов текста. Для этого в файл functions.php введите следующие строки кода:
function site_formatter( $content ) {
$new_content = '';
$pattern_full = '<(\[raw\].*?\[/raw\])>is';
$pattern_contents = 'is';
$pieces = preg_split( $pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE );
foreach ( $pieces as $piece ) {
if ( preg_match( $pattern_contents, $piece, $matches ) ) {
$new_content.= $matches[1];
} else {
$new_content.= wptexturize( wpautop( $piece ) );
}
}
return $new_content;
}
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_content', 'wptexturize' );
add_filter( 'the_content', 'site_formatter', 99 );
Теперь вы можете использовать в публикациях шорткод [raw], чтобы выделить текст, на который автоформатирование не будет распространяться. Например:
[raw]Текст без автоформатирования.[/raw]
Дополнительные рекомендации
В зависимости от сложности вашего проекта, могут быть полезны следующие рекомендации:
- Создайте резервную копию: Всегда стоит сохранять оригинальные файлы перед внесением изменений, чтобы можно было легко откатиться к предыдущей версии.
- Проверяйте изменения: После каждого изменения в functions.php проверяйте, как сайт реагирует. Это поможет заметить ошибки на ранней стадии.
- Используйте дочерние темы: Если вам нужны значительные изменения, лучше создать дочернюю тему, чтобы ваши изменения не потерялись при обновлении темы.
- Тестирование: Проверяйте, как изменения влияют на отображение сайта на различных устройствах и браузерах.
Причины, по которым может понадобиться отключение форматирования
Переполнение дополнительных стилей и разметки может исказить оригинальное значение контента. Например, если вы вставляете текст из сторонних источников, лишние элементы могут помешать вашей стилистике сайта. Удаление ненужных аспектов позволит избежать путаницы, обеспечив чистоту представления информации.
Некоторые пользователи предпочитают самостоятельно настраивать отображение без влияния предварительных настроек. Это особенно важно при работе с кодом. Вставка исходного кода без форматирования сохраняет его читабельность и предотвращает ненужные изменения. В отношении проектирования и веб-дизайна, такой подход обеспечивает согласованность с общей концепцией.
Важно помнить, что отключение некоторых настроек может быть необходимо при работе с SEO. Это обеспечивает правильное восприятие контента поисковыми системами.
Использование стандартных методов может привести к неправильному отображению. Часто визуальные редакторы применяют дополнительные знаки, которые не всегда нужны. Например, обнуление стилей может быть целесообразно для блогов с техническим содержанием, где необходима простота и минимализм. Позаботьтесь о том, чтобы ваш контент был именно таким, каким вы его задумали.