Как убрать лишние теги br и p в WordPress

Сайтостроение WordSmall

По умолчанию WordPress автономно создает тег параграф <p>, где есть отступы между строками. И также тег переноса <br>, где происходит перенос текста на новую строку. Такое автодобавление может навредить в работе ставки кода в статью или формы и прочего.

К примеру, вы вставляете в статью чистый HTML код какой-нибудь таблицы. Затем задаете ей стили обтекание, выравнивание и т.д. И что вы видите в результате: части таблицы налазят друг на друга, выравнивание не по одной линии и другие различные мелочи. В итоги ломается вся таблица и отображается не так, как задумано. Если посмотреть через браузер исходный код таблице, то будет видно, что WordPress автоматически добавил тег перенос строки <br>.

Как убрать лишние теги br и p в WordPress

Как с этим бороться или как это исправить?

Есть несколько решений, как убрать автодобавление тегов <br> и <p> в WordPress. Рассмотрим каждое на эффективность, простоту и удобства.

Редактирование файла functions.php

При необходимости можно убрать тег <br> и <p> не только в статьях, а и в анонсе и комментариях. Нужно внести пару строк в файл functions.php, который находится внутри вашей темы (или использовать дочернюю тему). В конце перед знаком ?> добавляем следующий код:

remove_filter( 'the_content', 'wpautop' );// для контента
remove_filter( 'the_excerpt', 'wpautop' );// для анонсов
remove_filter( 'comment_text', 'wpautop' );// для комментарий

Плюс этого решения: после обновления WordPress не нужно ничего заново добавлять.

Плагин TinyMCE Advanced

Этот плагин является мощным HTML-редактором. С помощью его вы сможете добавлять новые кнопки в редактор WordPress, количество которых довольно большое. Но нас интересует совсем другое, в настройках плагина можно поставить флажок на запрет тегов <br> и <p>.

Как убрать лишние теги br и p в WordPress

Минус этого решения: лишний плагин, тем самым лишняя нагрузка.

Если все эти решения вам не помогли избавиться от тегов <br> и <p>, то есть еще один вариант. На мой взгляд — это самое лучшее решение, простое и ничего лишнего. Тем более, все вышеуказанные методы отключают теги везде где указано. То есть если в контенте, то их везде не будет, если в анонсах, то так же. Чтобы избежать этого и не убрать их там, где они должны быть, то следует поступить так.

Создаете блок div с каким-нибудь классом, к примеру:

<div class="bezbrp">….</div>

В файле style.css задаете этому классу стили.

.bezbrp br {
display: none !important;
padding: 0px !important;
margin: 0px !important;
line-height: 0px !important;
border: 0px !important;
}

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

— Не забывайте делиться с друзьями в социальных сетях: —

Автор, он же Андрей, он же Admin, он же WordSmall

Лентяй-любитель, окончил высшую школу безделья с многочисленными знаками отличия. Создатель этого небольшого «чудо-блога» о еще более «чудном» контенте.

E-mail Google+ Twitter
Комментариев: 4
  • Игорь

    Идем по такому пути, папка с движком WordPress/wp-includes/ и находим файл с именем default-filters.php. В файле ищем такую строку: ... И просто закомментируем ее.

    Автор, ты чего? Убери это вообще.

    • WordSmall

      Спасибо за поправку, но грубить не нужно! Это было давно и неправда.

  • yana

    спасибо. очень помогло

Добавить комментарий
bold quote code