Просмотров: 8 573

Лишние элементы p и br в WordPress. Как убрать?

Когда вы создаете заметку или страницу в WordPress, при ее публикации вы можете заметить, что на странице появились лишние теги p и br в тех местах, где вы их вообще не ставили. В редакторе HTML вы эти лишние теги тоже не увидите, они там не отображаются. Тем не менее, на странице появляются нежелательные отступы.

лишние отступы wordpress p и br

Я начал искать решение проблемы и понял, что эти лишние теги добавляет специальный фильтр WordPress. В общем-то, его можно вручную отключить.

В файле \wp-includes\default-filters.php  нужно закомментировать строчку

add_filter( 'the_content', 'wpautop');

приведя её к виду:

// add_filter( 'the_content', 'wpautop');

В этом случае лишние отступы добавляться не будут, но такое отключение может испортить внешний вид всех ваших заметок, которые были опубликованы ранее. Это очень не желательно. Придется править каждую заметку вручную заново и если нужно будет обновить wordpress, эту функцию придется комментировать заново.

Этот вариант меня не очень устроил. К тому же, не всегда wordpress добавляет элементы p и br в неположенных местах. Иногда это очень кстати и экономит много времени.

Мне нужно было другое решение, и я его нашел. Это плагин Raw HTML.

http://wordpress.org/extend/plugins/raw-html/

Надеюсь, что этот плагин окажется для вас полезным тоже.

После его установки и активации вы можете поместить код, в котором автоматический перенос не нужен в конструкцию [raw]… Ваш код … [/raw]

К коду, который будет находиться в этой конструкции, не будут добавляться лишние теги. Это очень удобно, если вам нужно вставить какой-то Javascript или CSS- код в ваш пост.

По-моему, очень простое и изящное решение проблемы. Спасибо разработчикам плагина.

Но, к сожалению, у этого плагина есть и недостатки: убираются как элементы p, так и элементы br.

Иногда нужно убрать только p, а элементы br не трогать. Для этого я меняю формат текста на «отформатированный».

11-06-2013 12-57-20

Это можно сделать в редакторе Tiny MCE. Выделяется весь текст и изменяется его формат.

После этого он будет в таком неприглядном виде:

11-06-2013 12-58-47

Но, это легко поправляется клавишами Delete и Enter на клавиатуре.

Получается вот такой результат.

11-06-2013 13-00-24

Я сейчас пользуюсь таким способом.

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

  • http://irinakalinina.com Ирина Калинина

    Спасибо, Дима, для меня эта информация была очень полезной! Только не знаю, у меня уже столько плагинов наставлено — не будет ли тормозить мой сайт? И вообще, сколько плагинов можно поставить на сайт, что бы он работал нормально?

    • admin

      Здравствуйте, Ирина. Рад, что заметка оказалась полезной. Ограничений по количеству плагинов в WordPress нет. Все будет зависеть от того, какие плагины Вы будете использовать. Конечно, лишний код скорости Вам никогда не добавит. Поэтому старайтесь оставлять только самое необходимое.

  • http://lilynews.ru samanta-life

    интересно, замечала такие теги, только вот относительно вопроса Ирины — все же лучше отказаться от данного плагина, а то действительно их немало. Но ситуации бывают разными, порой без плагина не обойтись, так что спасибо за информацию:)

  • http://proartrit.ru Елена

    Спасибо, Дмитрий! А вы не знаете чего-то похожего только для Joomla?

    • admin

      К сожалению, для Joomla такого не встречал. Но, наверняка, какой-то аналог есть.

  • http://shitye01.ru Нина

    Дима, спасибо. С отступами парюсь часто, так что пригодится.

  • Стас

    А если необходимо отключить только теги P а этот плагин вырубает еще и то что необходимо сразу, а именно нужно мне чтобы оставалось BR ? может подскажете?

    • admin

      Да, это на самом деле проблема, тоже не нашел такой опции в этом плагине. Дабавил в статью информацию, как я сейчас решаю эту проблему.

      Спасибо за вопрос.

  • Ann

    Добрый день!

    У меня такая проблема, wordpress добавляет лишний перенос строки, когда в шаблон вставляю функцию include. Часть шаблона включается, но над ней появляется отступ и дизайн съезжает =(

    Помогите, пожалуйста

  • Роман

    Спасибо большое, очень выручили.

  • Дмитрий

    В админке постоянно при создании поста добавляется лишние p. Например, есть p br br p . Обрамились 2 br тегами p
    Есть какое-то решение, чтобы не добавлялись ненужные теги на этапе создания поста в админке?