Выполнение php-скрипта в wordpress’e и удаление автоматического добавление тегов wautop.

Обычно, когда нужно показать работу скрипта, в посте дают ссылку на отдельную страницу и там уже все показывают. Естественно это не очень удобно. Вот и у меня сегодня возникла такая необходимость. Решение для выполнения скриптов нашел быстро – поставил плагин PHP Execution. Однако скрипт выполнялся не правильно, выдавал ошибки. Посмотрев в браузере исходный код, обнаружилась очень странная вещь – в разных местах были добавлены паразитные теги <p></p>.

Поискав в интернете, нашел, что это их добавляет фильтр wordpess’a wautop и есть плагины No wpautop Pages, wpautop-control устраняющие данный неприятный сюрприз. Однако при их установке абсолютно ничего не изменилось. Поискав еще, нашел, что нужно добавить строчку:

remove_filter( 'the_content', 'wpautop' );

в файл functions.php шаблона (это который лежит в папке ‘/wp-content/themes’, а не в ‘/wp-includes’, не перепутайте, ато я сначала туда вставлял :) ). Я поставил в самое начало файла и все заработало как надо! Ура, товарищи :)

…Однако проблемы до конца не закончились, wordpress изменяет символы html на их сущности, например символ & на #038;

В общем, если нужно полностью отключить форматирование и изменение текста и взять эту ответственность на себя, нужно добавить еще функции отмены фильтров:

  • remove_filter ('the_content', 'convert_chars');
  • remove_filter('the_content', 'wptexturize');
  • remove_filter('the_content', 'convert_smilies');

Теперь вроде точно работает как нужно.))

Запись опубликована в рубрике Программирование. Добавьте в закладки постоянную ссылку.

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

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

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>