2014-03-15 21.45.11

WordPress: Лишние теги вокруг шорткодов

Столкнулся с проблемой, что WordPress упорно добавляет теги <p> и <br> при вставке шорткодов (shortcode) в визуальный редактор. Причем теги появляются даже, если вставлять шорткоды в режиме «Текст». Проблема особенно серьезная, когда внутрь шорткода нужно вставить какой-либо HTML-тег, к примеру, заголовок H1.

Почему бы не отключить визуальный редактор?

Отключать визуальный редактор, я считаю, не самsv правильным решением. Несмотря на то, что мои знания HTML-верстки позволяют обходиться не только без «вордовских кнопочек», но и без CMS =), все же визуальный редактор существенно экономит время при публикации материала. А учитывая еще и поддерживаемые горячие клавиши, написание поста становится очень простым и быстрым занятием.

А если отключить автоматическое замену перевода строки в теги?

Отключение функции wpautop(), которая отвечает за автоматическое преобразование переводов строки в визуальном редакторе в теги <p> и <br>, я также считаю не сосем правильным. Опять же экономится время при написании материала — вместо написания HTML-тегов, достаточно нажать на Enter. А если еще пользователи сайта не обладают достаточным навыком, чтобы вставлять теги в нужные места, так этот вариант вообще неприемлем.

И сделать это можно так

Закомментировать строку в в файле /wp-includes/default-filters.php

add_filter( 'the_content', 'wpautop');

2014-03-15 21.45.11

Этот вариант еще и неудобен тем, что при каждом обновлении движка, придется комментировать строку заново.

Но решение есть!

В итоге нашел решение, которое исключает проставление <p> и <br> только для шорткодов.

В файл functions.php активного шаблона нужно вставить следующий код:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);

2014-03-15 23.05.38

WordPress: Лишние теги вокруг шорткодов: 5 комментариев

  1. Закоментил нужную строку, но двиг 4.2.2 как добавлял этот гребаный так и добавляет. Какому придурку пришла в голову эта дрянь? Короче, ваш способ НЕ работает, по крайней мере на 4.2.2

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *