Как убрать лишние теги 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
Комментариев: 16
  • Игорь

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

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

    • WordSmall

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

  • yana

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

  • vmax1

    У меня такая же проблема в блоггере. Есть ли там решения? Спасибо.

    • WordSmall

      К сожалению, тут помочь не смогу. Разве что пробуйте последний вариант — прописывая вручную стили, предварительно обернув часть текста/кода в див с определенным классом.

  • Alex

    Когда, как правило, не работаешь с CMS и вдруг сталкиваешься с подобным, первым делом ищешь хитрые скрипты, которые могут калечить код. Потому что, просто забываешь, что CMS это не совсем интрумент для разработчика. Перебрав скрипты и сообразив, что это Вордпресс, добрался до default-filters.php, начал искать нужный хук и только тогда обнаружил Вашу статью.

    Спасибо.

    • WordSmall

      Не за что. Рад помочь! Думаю, всегда есть несколько вариантов решения какой-либо задачи, нужно только их поискать)

  • Ivan

    Подскажите, мне понравился блок комментариев на Вашем сайте. Они через какой то плагин? Или это стандартные комментарии Вордпресс. Спасибо.

  • Yura

    Здравствуйте! У меня проблема с излишними тегами br и p в сайдбаре, из-за чего несколько дней назад (по-моему, сразу после обновления Вордпресса) перестал отображаться счетчик Рамблера.

    Можно ли как-то решить эту проблему?

    Спасибо

    • WordSmall

      Здравствуйте! Вряд ли это из-за лишних тегов. Попробуйте тот же код счетчика добавить в другое место, к примеру, в футер. Просто посмотреть будет ли он отображаться, если нет, то значит дело в коде счетчика.

      • Yura

        WordSmall, пробовал — бесполезно, везде добавляются эти теги.

        Писал в Рамблер — говорят: очистите код от br и p. А у меня их нигде и нет, сам Вордпресс подставляет

  • WordSmall

    Прямо в код javascript добавляются? Странно. Впервые такое... попробуйте сократить код через какой-нибудь сервис, чтобы убрать все лишние пробелы и переносы.

  • Гном

    Здравствуйте! Не подскажите, как убрать лишние p из описания рубрик?

    • WordSmall

      Здравствуйте. Так вы просто уберите лишние пробелы и переносы, уверен, что они появились именно из-за этого.

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